摘要:
给一个数n,对他进行质因数分解 代码 for(int i = 2; i <= n; i ++) if(n % i == 0){ cout << i << endl; while(n % i == 0) n /= i; } 证明以上循环可以输出n的所有质因数 当n为质数时,只输出n,得证。 当n不是质 阅读全文
摘要:
乘法逆元 需要乘法逆元的原因:对于两个超大的正整数a, b, long long无法存储,保证b | a, 现在要计算(a / b) mod m,其中m为素数。考虑以下计算方法: 认为$a / b = (a %m) / (b % m) %m$,这个显然不对。 所以为了能够方便的算出(a / b) m 阅读全文
摘要:
#include<iostream> #include<stack> using namespace std; const int N = 10010; struct Node{ int l, r; }tr[N]; int n, u; int st[N]; int main(){ cin >> n 阅读全文
摘要:
带权并查集:维护结点到其根结点的的一些信息的并查集 本题维护的是每一个结点到它的根的距离 #include<iostream> using namespace std; const int N = 30010; int p[N]; int d[N]; int cnt[N]; /* d[x]本身存放的 阅读全文
摘要:
#include<iostream> #include<vector> #include<algorithm> using namespace std; #define PII pair<int, int> #define x first #define y second const int N = 阅读全文
摘要:
完全背包模型 二维 #include<iostream> using namespace std; const int N = 4010; const unsigned int mod = 1 << 31; unsigned int f[N][N]; int n; int main(){ cin > 阅读全文