摘要: 线性基 线性基是一种擅长处理异或问题的数据结构.设值域为 \([1,N]\) ,就可以用一个长度为 \(⌈\text{log}_2N⌉\) 的数组来描述一个线性基。特别地,线性基第\(i\)位上的数二进制下最高位也为第i位。 一个线性基满足,对于它所表示的所有数的集合\(S\),\(S\) 中任意多 阅读全文
posted @ 2024-07-10 16:35 WJChp 阅读(40) 评论(0) 推荐(0) 编辑
摘要: cdq分治 其大致形式为 递归左右半边 考虑左半边对右半边的影响 二维偏序(归并排序): 计算数对 \((i,j)\) 满足 \(a_i<a_j\) 并且 \(b_i<b_j\) 的数对数量 先以 \(a_i\) 排序,这样条件被转换为 \(i<j\) 且 \(b_i<b_j\) 考虑cdq分治 先 阅读全文
posted @ 2024-07-10 15:19 WJChp 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 最大流 对于网络 \(G = (V, E)\) ,给每条边指定流量,得到合适的流 \(f\) ,使得 \(f\) 的流量尽可能大。此时我们称 \(f\) 是 \(G\) 的最大流。 Dinic 算法思想 考虑在增广前先对 \(G_f\) 做 BFS 分层,即根据结点 \(u\) 到源点 \(s\) 阅读全文
posted @ 2024-05-27 12:12 WJChp 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 1.hash 定义 两种定义方法,基本相同,常用第一种 \(ha(s)= {\textstyle \sum_{i=1}^{l}}(s[i]*b^{l-i} \text{ % } m)\) \(ha(s)= {\textstyle \sum_{i=1}^{l}}(s[i]*b^{i-1} \text{ 阅读全文
posted @ 2024-05-24 11:00 WJChp 阅读(22) 评论(0) 推荐(0) 编辑
摘要: 凸性 CF1428E Carrots for Rabbits 给 \(n\) 个胡萝卜,再 \(n-k\) 次选出一个胡萝卜切一刀成俩,最小化最后所有胡萝卜平方和. CF1661F Teleporters 给定数轴上 \(n\) 个点和 \(m\) ,要再建立若干点,使得存在一条路径 \(a_1\l 阅读全文
posted @ 2024-04-10 12:10 WJChp 阅读(18) 评论(0) 推荐(0) 编辑
摘要: 斜率优化dp 1. 写出dp方程,并让其变为线性 其中可能需要对性质的重要分析(难点) 式子一般长这个样 $$f(i)=min/max (h(j)+a(i)b(j)+g(i))$$ 2. 模板化的,分离变量 具体的,先忽略 \(min/max\) (其实相当于选择一个最优的 \(j_0\) ) $$ 阅读全文
posted @ 2024-03-24 15:27 WJChp 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 攻略 先设计一个一定保证正确性的状态,可以完全朴素甚至可以n维 考虑保证正确性的情况下:合并同类状态,消除无用状态,消除无用转移。 对递推式进行分类,只与当前点有关的直接处理,只与以前相关的点预处理,既与当前有关又与现在有关考虑斜率优化(有单调性用单调队列,否则二分或李超) A 显然 B 显然 C 阅读全文
posted @ 2024-03-24 15:23 WJChp 阅读(14) 评论(0) 推荐(0) 编辑