sg函数
摘要:SG函数 int sg[1000],book[10]; memset(sg, -1, sizeof(sg)); sg[0] = 0;//必败态初始化为0 for (int i = 1; i <= 1000000; i++) dfs(i); int dfs(int x) { if (sg[x] !=
阅读全文
posted @
2022-09-08 19:33
naiji
阅读(26)
推荐(0) 编辑
线性基
摘要:线性基 线性基可以解决子集异或的问题. 用处: 快速查询一堆数可以异或出来的最大/最小值 快速查询一个数是否可以被一堆数异或出来 快速查询一堆数可以异或出来的第k大值 每一个序列都有线性基,性质: 原序列里面的任意一个数都可以由线性基里面的一些数异或得到. 线性基的元素能相互异或得到原集合的元素的所
阅读全文
posted @
2022-09-08 19:32
naiji
阅读(38)
推荐(0) 编辑
几何
摘要:基础 直线方程 知道两个点,
(x1,y1),(x2,y2),确定一条直线。
Ax+By+C=0 (y1−y2)×x+(x2−x1)×y+(x1×y2−x2×y1)=0 对角线数量 P2181 对角线 - 洛谷 | 计算
阅读全文
posted @
2022-09-08 19:31
naiji
阅读(69)
推荐(0) 编辑
差分约束
摘要:差分约束 模板: P5960 【模板】差分约束算法 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 例题: Problem - 7176 (hdu.edu.cn) 有n个未知数,m个不等式. 将所有不等式化为:
px−py≤numi的形式. 连接边$y\right
阅读全文
posted @
2022-09-01 21:23
naiji
阅读(18)
推荐(0) 编辑
NTT(快速数论变换)
摘要:NTT(快速数论变换) 在取模的情况下,解决多项式乘法. n,m表示多项式的次数,从低到高读入 const int NR = 1 << 22, g = 3, gi = 332748118, mod = 998244353; //998244353的一个原根为3且998244353-1=2^23*11
阅读全文
posted @
2022-09-01 21:22
naiji
阅读(225)
推荐(0) 编辑