1 static int length1(int num) //想着要定义一个函数取,质因子数组的长度 2 { 3 int arrayLength = 0; 4 5 for (int i = 2; i <= num; i++) //for循环中I 不会归零 只能遍历一次 6 { 7 ... ...
Time Limit: 5000 ms Memory Limit: 512 MB Description ? 对于正整数n,定义f(n)为n所含质因子的最大幂指数。例如f(1960)=f(2^3 5^1 7^2)=3, f(10007)=1, f(1)=0。 ? 给定正整数a,b,求$\sum\li ...
分类:
其他好文 时间:
2018-01-07 14:16:41
阅读次数:
178
题目链接 Prime Gift 题意 给定一个素数集合,求第k小的数,满足这个数的所有质因子集合为给定的集合的子集。 保证答案不超过$10^{18}$ 考虑二分答案。 根据折半的思想,首先我们把这个集合的数分成两组。 然后分别生成这两组质数所能表示出的正整数的集合。 然后把这个集合sort一下,我们 ...
分类:
其他好文 时间:
2018-01-07 00:49:53
阅读次数:
156
题目链接:http://codeforces.com/problemset/problem/402/D 题意: 给你一个长度为n的数列a[i],又给出了m个“坏质数”b[i]。 定义函数f(s),其中p是s的最小质因子: f(1) = 0 f(s) = f(s/p) + 1 (p不是坏质数) f(s ...
分类:
其他好文 时间:
2018-01-06 23:21:08
阅读次数:
209
Description Input 第一行:CAS,代表数据组数(不大于350),以下CAS行,每行一个数字,保证在64位长整形范围内,并且没有负数。你需要对于每个数字:第一,检验是否是质数,是质数就输出Prime 第二,如果不是质数,输出它最大的质因子是哪个。 第一行:CAS,代表数据组数(不大于 ...
分类:
编程语言 时间:
2017-12-30 20:04:54
阅读次数:
190
一开始看到这道题各种费用流的即视感。 首先这个配对应该可以想到构建二分图模型。构建出二分图后就比较容易把关系转化为边了。 但怎么构建呢?这个还是比较巧妙的,因为只有 小的数能整除大的数 且商为质数 的2个数才能配对。 也就是说只有在质因子个数相差1的情况下可能配对,于是很容易很把数分成2个集合。 然 ...
分类:
其他好文 时间:
2017-12-17 20:50:19
阅读次数:
229
欧拉函数是指从1到n之内,与n互质的数的个数 欧拉函数推论:一个数的所有质因子之和是euler(n)*n/2; 求出一个数的欧拉函数的复杂度是sqrt(n); 可以线性打出欧拉函数表 ...
分类:
其他好文 时间:
2017-12-09 20:47:07
阅读次数:
169
显然只需要能跑到第二个因子就赢了 需要特判非平凡因子 常数优化:不用求出所有因子,跑完第二个素数就行了 C++ include using namespace std; typedef long long ll; const int maxn = 233; ll n,cnt; ll prime[ma ...
分类:
其他好文 时间:
2017-12-09 13:10:57
阅读次数:
183
"原题" 就是n的所有质因子的全排列(是可重集全排列) cpp include include define N 2020 typedef long long ll; using namespace std; ll jc[22],cnt,n,prime[N],ans,sum; int num[N]; ...
分类:
其他好文 时间:
2017-11-30 17:14:28
阅读次数:
109
n<=500000个2<=Ai<=1e7的数,求这样选数的方案数:先从其中挑出一个gcd不为1的集合,然后再选一个不属于该集合,且与该集合内任意一个数互质的数。 好的统计题。 其实就是要对每个数求和他互质的,gcd不为1的集合数,容斥一下,求出所有gcd不为1的集合数A然后减去所有他的质因子对这个A ...
分类:
其他好文 时间:
2017-11-29 14:46:33
阅读次数:
191