摘要: ~~Manacher=马拉车~~ 大家好,我们今天来扯Manacher算法了。 I.马拉车可以干什么? 一句话:对于一个字符串$s$,在$O(|S|)$时间内,求出它的最长回文子串。 II.预处理 对于一个字符串,它的回文串可以有两种类型: A.奇回文串 例: AACCBCCAA 特征:有单一回文中 阅读全文
posted @ 2020-04-25 12:13 Troverld 阅读(199) 评论(0) 推荐(0) 编辑
摘要: XVI. "CF1251F Red White Fence" 这题充分显现出了FFT~~工具人~~的本性。 对于这个奇奇怪怪的图形的周长,我们平移平移就能发现,它为$\text{(红木板长度+总木板数量)} 2$。有了这个结论,我们只需要枚举当前用的是哪块红木板(红木板数量$\leq 5$),再求出 阅读全文
posted @ 2020-04-25 12:09 Troverld 阅读(119) 评论(0) 推荐(0) 编辑
摘要: XV. "[HEOI2016/TJOI2016]求和" 题意:求一个东西 $\LARGE\sum\limits_{i=0}^n\sum\limits_{j=0}^iS_i^j 2^j j!$ 其中$S_i^j$为第二类斯特林数,递推公式为$S_n^m=S_{n 1}^{m 1}+m S_{n 1}^ 阅读全文
posted @ 2020-04-25 12:08 Troverld 阅读(254) 评论(0) 推荐(0) 编辑
摘要: XIV. "[SDOI2017]序列计数" 一眼看出这题就是$\text{答案}=\text{总数量} \text{不选质数数量}$。反正两个都是随便卷卷就出来了。 不过,这题模数极为恶心,要么逼着你敲任意模数NTT(~~很明显我不会~~),要么就只能写FFT。但是,FFT会挂掉,因为不能及时取模, 阅读全文
posted @ 2020-04-25 12:06 Troverld 阅读(114) 评论(0) 推荐(0) 编辑
摘要: XIII. "[SDOI2015]序列统计" 一个非常naive的想法就是多项式快速幂。 我们令一个函数$f_1(x)=[x\in S]$。并有$f_i(x)=\sum\limits_{ij\equiv x\mod m}f_{i 1}(i) f_{i 1}(j)$。则答案为$f_n(x)$。 后面那 阅读全文
posted @ 2020-04-25 12:03 Troverld 阅读(214) 评论(0) 推荐(0) 编辑
摘要: XII. "CF827E Rusty String" 依旧推式子。假设当前我们处理$'V'$字符,那么我们令$f(x)=[s_x='V"\lor s_x='?']$。我们设答案为$p(x)$,那么有$p(x)=\sum\limits_{i=x}^{n 1}f(i)f(i x)$。 老套路,翻转$f$ 阅读全文
posted @ 2020-04-25 12:00 Troverld 阅读(130) 评论(0) 推荐(0) 编辑
摘要: XI. "CF632E Thief in a Shop" 听说这题NTT常见的模数都会被卡?orzorz。 一看就是一个完全背包的样式。当然咯,FFT题当然应该用FFT做呀。我们构建$g(x)=[x\in \text{商品价值的集合}]$。计算$g^k$,答案即为$g^k(x)$所有有值的位置。 代 阅读全文
posted @ 2020-04-25 11:59 Troverld 阅读(85) 评论(0) 推荐(0) 编辑
摘要: X. "CF1096G Lucky Tickets" 这题一个NTT快速幂的形式就非常明显了。直接构建一个函数$g(x)=[x\in \text{给出的k个数码}]$。则我们要求的就是$\sum\limits_{i=0}^{\infty}(g^{n/2}(i))^2$。由于模数是$998244353 阅读全文
posted @ 2020-04-25 11:57 Troverld 阅读(111) 评论(0) 推荐(0) 编辑
摘要: IX. "CF993E Nikita and Order Statistics" 首先,一上来就能想到的思路,对于$ using namespace std; define int long long const double pi=acos( 1); int n,m,cnt[1 1] 1)|((i 阅读全文
posted @ 2020-04-25 11:56 Troverld 阅读(132) 评论(0) 推荐(0) 编辑
摘要: VIII. "[JSOI2012]分零食" 首先,暴力的DP是非常轻松的。设$f_{i,j}$为(前$i$个人,分了$j$颗糖)的种数,再设$g_i$为(一个人拿到$i$颗糖的快乐度),即$(Oi^2+Sx+U)$。 首先,我们可以将人数$A$与糖数$M$取$\min$,因为反正最多只有前$M$个人 阅读全文
posted @ 2020-04-25 11:55 Troverld 阅读(1160) 评论(0) 推荐(0) 编辑