
数学:数论
文章平均质量分 93
程序喵Eric
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round #382 (Div. 2) D. Taxes 数论、哥德巴赫猜想
题意:给定一个数n,n可以分成k个数的和(ni >= 2 , sum{ni} == n, k 可以为 1),花费为ni的除本身外的最大因数,求花费和的最小值。 数论、哥德巴赫猜想 任意大于2的偶数可以拆分为两个质数之和 然后2是素数所以ans = 1; 当n 为 奇数时判断是否为素数,如果是素数则 ans = 1; 如果不是,则判断 n - 2是否为素数,如果是则可以把n拆成一个素数和2 ans = 2; 否则只能拆成一个素数+一个大于2的偶数 ans = 3; 复杂度 O(sqrt(n))原创 2016-11-28 03:11:09 · 1260 阅读 · 1 评论 -
Codeforces Round #376 (Div. 2) F. Video Cards 数论+数据结构+前缀和
数论+数据结构+前缀和 就是以前用树状数组的感觉,比如有一个数x,就在以x为下标的地方插入一个 1,如果删除这个就在下标为x的地方插入一个-1, 这样要查询小于等于k的数的个数只要get(k)就好。 这里不需要维护,所以只要用一个前缀和数组,就可以直接预处理出来。 即对于每个a[i]就在 sum[a[i]]++; 读入完以后预处理出前缀和,for i = 1 ~ maxa, sum[i] += sum[i - 1]; 然后扫一遍i = 1 ~ maxa,对于每个i在a[maxn]数组中出现过的i,(即 s原创 2016-10-22 12:56:44 · 1461 阅读 · 1 评论