摘要: - 阅读全文
posted @ 2023-05-04 18:28 lizhous 阅读(18) 评论(0) 推荐(0) 编辑
摘要: ### 数论 - [代数数论](https://www.luogu.com.cn/blog/477954/shuo-lun) - 计算几何 - 多项式 - 狄利克雷卷积 - [FFT&NTT](https://www.luogu.com.cn/blog/477954/fft-xue-xi-bi-ji 阅读全文
posted @ 2023-05-03 15:01 lizhous 阅读(71) 评论(0) 推荐(0) 编辑
摘要: [NFLSPC #6] 等差数列 考虑枚举公差 \(d\),如何求得最少题数 \(m\)? 贪心的想,我们希望的等差数列是一条直线,而增加的数最少就相当于让直线最低且任意点不低过原序列。扫一遍序列,动态维护当先最少需要增加的数 \(f\) 和当前末项大小 \(g\),如果下一项 \(a_i<g-d\ 阅读全文
posted @ 2024-09-11 16:08 lizhous 阅读(6) 评论(0) 推荐(0) 编辑
摘要: [NOIP2020] 字符串匹配 枚举前缀 \(AB\) 和 \(i\),kmp 判断是不是周期串。 [COCI2016-2017#4] Rima 押韵条件: 第一位不一样 去掉第一位 trie 树扫一扫。 [POI2010] ANT-Antisymmetry 重载马拉车。 [USACO15FEB] 阅读全文
posted @ 2024-08-07 16:35 lizhous 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 退位计划 全部颜色都选的限制很强,考虑对他容斥。 首先我们可以很容易求出 \(n\) 个点最多用 \(k\) 个点的答案为 \(k(k-1)^{n-1}\)。 那么我们此时多算了某个颜色没选的答案,需要减掉他,于是答案就显然了。 \(\sum\limits^{k}_{i=1} -1^{k-i}\ti 阅读全文
posted @ 2023-09-04 20:18 lizhous 阅读(26) 评论(0) 推荐(0) 编辑
摘要: # 概念 DDP,可以理解为转移会发生改变的动态规划。 当然这个改变是题目中给的,包括系数,转移位置的改变。显然暴力枚举这些改变是不现实的,我们要把改变体现到其他地方。 最经典的,体现到矩阵上。 我们把转移写成矩阵,那么改变转移就是改变转移矩阵。 具体的改变会落实到具体的题目上。 ## 广义矩阵乘法 阅读全文
posted @ 2023-07-11 21:09 lizhous 阅读(21) 评论(0) 推荐(0) 编辑
摘要: # 概念 对于一个很多询问的题,假如对于一个询问可以二分处理,同时一次 check 可以只用 $n$ 的时间处理所有询问的 check 结果,我们可以使用整体二分来做这个题。 # 思想 设函数 $\operatorname{solve}(S, L, R)$ 为现在正在处理询问序列 $S$ 里的询问, 阅读全文
posted @ 2023-06-16 12:41 lizhous 阅读(3) 评论(0) 推荐(0) 编辑
摘要: ## 概念 虚树是一棵树,相对于原树而言。它删去原树上某些点,再按原树父子关系连边构成的树。 它对树上算法有一定优化。假如一个树上问题仅与部分节点有关,如树形DP,DP值仅在部分节点有改变,那么就可以已这部分节点建成虚树,省略其他部分,复杂度为部分节点总和。 ### 例:[消耗战](https:// 阅读全文
posted @ 2023-05-31 17:58 lizhous 阅读(15) 评论(0) 推荐(0) 编辑
摘要: # P3245 [HNOI2016]大数 考虑如何提取区间 $[l,r]$ 组成的数。 设 $SA_i$ 表示 $S[i,n]$ 组成的数值,则 $[l,r]$ 组成的数为 $SU_{l,r}=\frac{SA_l-SA_{r+1}}{10^{n-r}}$ 且统计 $SU_{l,r}\mod P=0 阅读全文
posted @ 2023-05-20 09:09 lizhous 阅读(67) 评论(0) 推荐(0) 编辑
摘要: 概念 后缀数组,即对于一个串,它的每个后缀按字典序排序后得到的数组。 有两个数组要求: $SA_i$:排名为 $i$ 的后缀的开头位置 $RK_i$:以 $i$ 为开头的后缀的排名 朴素 sort排序一下 优化 倍增优化:我们进行 $\log n$ 次排序,第 $k$ 次取所有后缀的前 $2^k$ 阅读全文
posted @ 2023-05-04 18:27 lizhous 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 概念 点分治用于解决有一定要求的链的计数。 对于点 $u$ 的子树的问题,可以将答案分为: 经过点 $u$ 不经过点 $u$ 第一种可以用桶加暴力。枚举一端的长度,用桶计算另一端长度;第二种分到子树中解决即可。 注意到,在随机选根的时候该算法表现不优秀,但若根为重心,因为每次子树大小都减少一半,所以 阅读全文
posted @ 2023-05-04 18:26 lizhous 阅读(10) 评论(0) 推荐(0) 编辑