
模板
Ripped
我那么浮躁却想要读懂你的生活
展开
-
约瑟夫问题
求n个人,每次报m次出队,求第k个出队的人f[n][k]=(f[n−1][k−1]+m−1)%nf[n][k]=(f[n-1][k-1]+m-1)\%nf[n][k]=(f[n−1][k−1]+m−1)%n时间复杂度为O(k)O(k)O(k)当kkk很大但是m<<nm<<nm<<n时,可以把多次(m−1)(m-1)(m−1)加在一起,一起取模#inclu...原创 2019-10-14 10:11:46 · 326 阅读 · 0 评论 -
FWT
FFT:FFT:FFT: Ck=∑i+j=kAi∗BjC_k=\sum_{i+j=k}A_i*B_jCk=∑i+j=kAi∗BjFWT:FWT:FWT: Ck=∑i⊕j=kAi∗BjC_k=\sum_{i \oplus j=k}A_i*B_jCk=∑i⊕j=kAi∗Bj#include<cstdio>using namespace std;const int N...原创 2019-10-12 18:27:54 · 349 阅读 · 0 评论 -
【模板】最小点覆盖、最大独立集
#include <bits/stdc++.h>using namespace std;const int N=100050;const int M=100050;int n,m;struct Edge{int v,next;}edge[M];int cnt,head[N];void init() {cnt=0; memset(head,-1,sizeof(head));...原创 2019-08-02 16:28:11 · 353 阅读 · 0 评论 -
【模板】线性基
线性基插入void insert(int rt,ll x){ int i; fd(i,31,0) if (x & (1<<i)) if (basis[rt][i] == 0) { basis[rt][i] = x; return; } else x =...原创 2019-08-06 17:08:28 · 187 阅读 · 0 评论 -
【模板】主席树
查询区间k小值输入n个数,每次询问某一区间内的第k小值。样例输入7 31 5 2 6 3 7 42 5 34 4 11 7 3样例输出563#include<cmath>#include<cstdio>#include<vector>#include<cstring>#include<iomanip>#i...原创 2019-08-06 17:10:46 · 163 阅读 · 0 评论 -
欧拉定理相关
a ^ a ^ a ^ … ^ b % m#include <bits/stdc++.h>#define fo(i,a,b) for(i=a;i<=b;i++)using namespace std;const int maxn=1e6+5;typedef long long ll;int minDiv[maxn],phi[maxn],sum[maxn];int T...原创 2019-09-04 15:51:42 · 347 阅读 · 0 评论