技巧
文章平均质量分 53
double1994
这个作者很懒,什么都没留下…
展开
-
CF 396A On Number of Decompositions into Multipliers
组合数问题。表示现在不会。dp写个。感谢波神教会我优化。。。不然死都过不鸟。。。每种因子在转移时数目是一样的,可以预处理。但是三重循环必然超时,因为是从前一行转移到后一行,每次可以先处理出所有情况,可减少一重循环。关于取余还逗b了下,认为当dp恰好为INF整数倍时取余为0,会导致答案为0,实际上答案就是0。。。#include #include #include #include原创 2014-02-28 21:46:56 · 1244 阅读 · 0 评论 -
CF 396A On Number of Decompositions into Multipliers
已经做过了。这次用组合数写。先是杨辉三角求组合数。#include #include #include #include #include #include using namespace std;#define LL long long#define INF 1000000007#define N 1000int p[32000];int r[100000];int原创 2014-03-01 21:22:07 · 623 阅读 · 0 评论 -
CF 402D Upgrading Array
暴力搞过。。。处理出从1 到 i的公约数。从右往左开始判断,如果公约数的值小于零直接约掉。然后计算总和即可。注意处理素数大于sqrt(1e9)的情况。当给出素数中存在大于素数表最大值的素数时,加入素数表。v记录是否为坏素数。当除以约数结束时,判断剩下的值是否存在于素数表中,存在则根据v数组的记录判断加或减,否则加1.#include #include #include #include原创 2014-03-18 22:13:28 · 543 阅读 · 0 评论 -
HDU 4731 Minimum palindrome
学会了打表找规律。m >= 3时abc循环最小,m=2时打表找规律即可。ps:m>=3时,n%3,即多出来的数加在后面,加前面会令回文从3增加到4或5#include using namespace std;int n, m;int main(){ int t; int num = 1; scanf("%d", &t); while(t--){原创 2014-03-26 10:04:54 · 444 阅读 · 0 评论 -
CF 448C Painting Fence
分治。最大值为n个篱笆都竖着涂。原创 2014-08-01 10:23:05 · 547 阅读 · 0 评论 -
CF 448D Multiplication Table
首先二分答案。每行加上min(x, (x-1原创 2014-08-01 10:53:52 · 595 阅读 · 0 评论