- 博客(5)
- 收藏
- 关注
原创 2021-11-30训练赛D题题解
题目链接:https://codeforces.com/contest/1382/problem/D 考察方向:思维+DP; 题解:实际该题虽然说的是取最大值,然后把较小值放到最大值之前,但实际的意思是两值比较从小到大排序。 比如:A:3 2 8 4;B:6 1 5 7; 3 6比较取3,2 6比较取2,8 6比较取6,8 5比较取5,8 7比较取7,然后输出 8 4 ---总共输出 3 2 65 7 8 4. 由上可得就是找一个值后面比他大的第一个值,记录距离,跳到该值再次...
2021-12-01 00:21:54
346
原创 2021-11-2训练赛C题题解
单峰函数。 n=1,2,3的时候进行特判。 n>3的时候进行普适性寻找,发现可以分解为3个值,num1是复制的步数,num2是加一的步数,num3是复制与加一过程中出现的余渣,用n%i来得,然后num1+num2+num3就是从i值开始复制的总步数,如果出现下一个比上一个大的情况,则说明之后都会大了,就输出上一个的步数(即为最小步数)。 #include<bits/stdc++.h> using namespace std; const int N=100010; int a[N]
2021-11-02 21:29:57
132
原创 2021-10-28训练赛E题题解
1.让小数与大数逐渐靠近只能让小数除以0.08,让大数除以0.1。 2.让所得结果向上取整,之后取两者最大值maxx。 3.回溯,用maxx分别乘以0.1和0.08并向下取整看看能否与之前的两个数相等。 4.相等就输出maxx,不相等就输出-1。 #include<bits/stdc++.h> using namespace std; int main() { int a,b; scanf("%d %d",&a,&b); int a1=ceil(
2021-10-29 16:25:18
99
原创 2021-10-21训练赛A题题解
原题:Codeforces Round #672 (Div. 2)A. Cubes Sorting(id:1420) 题意 给一个序列,每次可以选择两个相邻的元素进行交换,问交换的次数是否大于 (n-1)*n/2-1. 题解:一开始我是打算用冒泡排序(朴素的暴力算法)进行计算,本来侥幸以为用当idx==(n-1)*n/2-1然后break偷懒,结果果不其然的TLE了。只能找技巧,这个时候想起了最大逆序对数量是(n-1)*n/2(感谢线代)。而他的上限是(n-1)*n/2-1,所以只要他存在a[i]<
2021-10-21 22:54:39
120
原创 2021-10-19训练赛B题题解
原题为:CodeForces 1372B - Omkar and Last Class of Math。 B. Omkar and Last Class of Math time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output In Omkar’s last class of math, he learned about the least com
2021-10-19 23:45:44
355
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人