题意:给出一个集合,要求把这个集合分成两部分,使得一个集合中的任一元素都与另一个集合的全部元素都两两互质 暴力 枚举每个元素O(n^2)再暴力判gcd=1,如果非1就放入不同集合内,用并查集维护联通块的个数即可,答案就是联通块个数减2(无空集) 考虑在暴力的基础上优化,我们可以发现一个元素与它的质因 ...
分类:
其他好文 时间:
2019-08-26 20:48:16
阅读次数:
98
"LightOJ1341" Aladdin and the Flying Carpet 标签 约数相关问题 前言 我的csdn和博客园是同步的,欢迎来访 "danzh 博客园" ~ 简明题意 给定n,b,求n的 =b的约数的对数。(n=b的约数对数,怎么搞呢?这里我也想了半天没想明白 很多人说直接算 ...
分类:
其他好文 时间:
2019-08-26 15:18:45
阅读次数:
62
Description 详见OJ Solution 感觉这题是最神仙的。。。 考场$AC$的人说自己是暴力枚举转移方程而得到了一个正确的转移式。 对于数据中的$x$,我们发现分解质因数后,每个质因数的指数最大是$2$。 当指数为$1$的时候,很容易得出答案乘以$n!$(因为每列每行都只能有一个这个质 ...
分类:
其他好文 时间:
2019-08-13 22:30:14
阅读次数:
89
https://scut.online/p/485 给定a和n,求有多少个质数p,满足n是使得a^n=1 mod p成立的最小正整数。 翻译:求有多少个质数p,使得a模p的阶delta_m(a)是n 先验证 a^n=1 mod p 成立 那么假如还有更小的m使得 a^m=1 mod p 成立,则这个 ...
分类:
其他好文 时间:
2019-08-11 22:48:59
阅读次数:
111
题意: 思路: 首先我们打表观察得到,f(x)为 x分解质因数之后 ∏pi^(ti/2) 再分析可得,∑f(i)=n/(1*1)*1*只为1的个数+n/(2*2)*2*只为2的个数+... 但是结果超时。 在进行分析可得,只为x的个数 就是phi(x)。 #include<bits/stdc++.h ...
分类:
其他好文 时间:
2019-08-11 15:08:34
阅读次数:
94
题目 DP 根据题意,可以发现N个数可以组成若干个环 设组成了K个环,每个环的长度为 L[ i ],设lcm(l[1],l[2]·····,l[k])为A,对A分解质因数, 现在我们可以得到一个结论: 如果 那么就不合法 推到现在,我们就能得出一个DP 设为枚举到第 i 个质数,和为 j 的方案数 ...
分类:
其他好文 时间:
2019-08-09 21:20:27
阅读次数:
109
sol:很显然就是找出所有质因数,然后分别塞进去就行了,怎么塞就是组合数。感觉就是道小学奥数题 #include <bits/stdc++.h> using namespace std; typedef int ll; inline ll read() { ll s=0; bool f=0; cha ...
分类:
其他好文 时间:
2019-08-07 22:35:52
阅读次数:
94
我们都知道欧拉筛又称线性筛,能在O(n)的时间复杂度内筛出n以内的所有质数,而我们只要在线性筛的代码上改良一下就能求出n以内所有数的欧拉函数了。筛质数时,设外层在枚举i,内层枚举到prime[j],这时有两种情况: 附上代码: ...
分类:
其他好文 时间:
2019-08-07 09:21:58
阅读次数:
198
DP 1CF1101D 我们发现,最终答案一定和质因数有关 我们发现$w_i \frac{2}{n}$时答案是$1$或者$0$ 这种情况提前预处理一下直径就好了 当$k 1$,很明显这条边在不同点集的贡献不一定相同,所以上述方法就莫得了 我们先考虑多项式做法 考虑设$dp_{u,v} $表示$u$为 ...
分类:
其他好文 时间:
2019-08-02 21:10:09
阅读次数:
139
题意: 已知任意大于$1$的整数$a = p_1^{q_1}p_2^{q_2} \cdots p_k^{q_k}$,现给出$a \in [2,1e18]$,求$min\{q_i\},q \in [1, k]$。即求质因数分解后,最小指数是多少。 思路: 因为$a \in [2,1e18]$,所以我们 ...
分类:
其他好文 时间:
2019-08-02 20:36:46
阅读次数:
108