![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
cf
Pro_space
从蒟蒻开始成长~
展开
-
【贪心】Codeforces Round #339 (Div. 2) D
给出一个数列,你每次可以讲其中任意一个数加一,但是你最多只可以操作m次,给出一个最大值A,每个数最多能加到A 然后所求的值是(最大值A的个数suma*cf加上整个数列最小值minf*cm)的最大值 cf的题基本上都是脑筋急转弯,首先我们可以枚举操作完后的最大值的个数,然后我们就会发现,如果你要一个值达到最大值的话,一定是从大到小来做, 假设 aj 如果你将aj操作为最大值,就相当用ak到了原创 2016-01-28 22:54:31 · 495 阅读 · 0 评论 -
【DP】AIM Tech Round (Div. 2) D
让你删一个连续区间,然后剩下的数可以加一减一,然后让他们的最大公约数不为0, 很显然最大公约数一定是a1-1,a1+1,a1,an+1,an-1,an这六个数的质因子,所以就枚举这六个数的质因子来dp,很明显最后的结果是三个区间,那么dp也设立三个状态 f[i][0]代表在第一段里,f[i][1]代表在中间删除的那段里,f[i][2]代表在第二段没有删除的区间里 #include #inclu原创 2016-02-16 11:56:03 · 466 阅读 · 0 评论 -
【DP】Codeforces Round #341 (Div. 2) E
问你用1-9拼一个mod x余k的数有多少种方法, 一开始脑抽了,从低位到高位做了(虽然这样做后发现是有循环规律的),但是发现异常难做,然后看了下题解原来是从高位往低位做了之后然后每次相当于余数乘十再加上1-9,所以构建余数矩阵f[i][(10*i)+x] += sum[x] 然后f矩阵做快速幂好了。。。 #include #include #include #include #inc原创 2016-02-02 22:18:14 · 394 阅读 · 0 评论 -
cf734D
#include<iostream> #include<cstdlib> #include<algorithm> #include<cmath> #include<cstring> #include<cstdio> using namespace std; struct rec { int x,y,biao; }poi...原创 2018-05-28 19:44:28 · 163 阅读 · 0 评论