04 2022 档案
摘要:二分图的判定(染色法) int col[Z]; bool dfs(int rt, int color) { col[rt] = color; for (int i = head[rt]; i; i = e[i].ne) { int son = e[i].v; if (!col[son] && !df
阅读全文
摘要:基础区间加法分块 int L[Z], R[Z], bel[Z]; int a[Z], sum[Z], add[Z]; void modify(int l, int r, int val) { int ll = bel[l], rr = bel[r]; if (ll == rr)//l和r在同一块 {
阅读全文
摘要:hash:将字符串转为B进制数 const int B = 131; const int M = 1e9 + 7; #define int unsigned long long void init(int n) { ba[0] = 1; for (re i = 1; i <= n; i++) ba[
阅读全文
摘要:辗转相除法求最大公约数 inline int gcd(int a, int b) { int r = a % b; while (r) a = b, b = r, r = a % b; return b; } inline int gcd(int a, int b) { return b ? gcd
阅读全文
摘要:bool cmp(int i, int k, int now) { if (fabs(fabs(a[i][k]) - fabs(a[now][k])) > eps)//不相等,将大的放上面 return fabs(a[i][k]) > fabs(a[now][k]); for (int j = k
阅读全文
摘要:struct matrix { int a[10][10]; matrix () { memset(a, 0, sizeof(a)); } inline friend matrix operator *(matrix A, matrix B) { matrix C; for (int i = 1;
阅读全文