随笔分类 - 数论——FFT/NTT/多项式/生成函数
摘要:XVI. "CF1251F Red White Fence" 这题充分显现出了FFT~~工具人~~的本性。 对于这个奇奇怪怪的图形的周长,我们平移平移就能发现,它为。有了这个结论,我们只需要枚举当前用的是哪块红木板(红木板数量),再求出
阅读全文
摘要:XIV. "[SDOI2017]序列计数" 一眼看出这题就是。反正两个都是随便卷卷就出来了。 不过,这题模数极为恶心,要么逼着你敲任意模数NTT(~~很明显我不会~~),要么就只能写FFT。但是,FFT会挂掉,因为不能及时取模,
阅读全文
摘要:XI. "CF632E Thief in a Shop" 听说这题NTT常见的模数都会被卡?orzorz。 一看就是一个完全背包的样式。当然咯,FFT题当然应该用FFT做呀。我们构建。计算,答案即为所有有值的位置。 代
阅读全文
摘要: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
阅读全文
摘要:VIII. "[JSOI2012]分零食" 首先,暴力的DP是非常轻松的。设为(前个人,分了颗糖)的种数,再设为(一个人拿到颗糖的快乐度),即。 首先,我们可以将人数与糖数取,因为反正最多只有前个人
阅读全文
摘要:VII. "万径人踪灭" ~~跑题了跑题了~~ 我们可以知道, 关于回文子串数,我们可以使用Manacher算法在时间内实现。如果不会的话,可以参加鄙人的 "拙作" ,这里不再赘述。 那么如何求出 位置对称且字符对称的
阅读全文
摘要:VII. "CF954I Yet Another String Matching Problem" ~~FFT做字符串匹配就是有意思~~ 我们首先必须要搞清楚暴力匹配是什么样的过程。 例: | 位置 | 0 | 1 | 2 | 3 | | : : | : : | : : | : : | : : |
阅读全文
摘要:VI. "CF528D Fuzzy Search" 照旧分字符处理。 首先,我们可以算出每个字符是否可以填入每个位置。 例如,当文本串为时,以下这张表表示了每个位置是否可以填入每个字符: ||0|1|2|3|4|5| | : : | : : | : : | : : | : :
阅读全文
摘要:V. "[计蒜客 A1676]Rock Paper Scissors Lizard Spock" 我们设两个串分别为模式串和文本串,长度分别为和,下标从开始。 我们可以枚举当前出的手势。将中所有是当前手势的位置赋成,不是当前手势的位置赋成。将中所
阅读全文
摘要:IV. "UVALive4671 K neighbor substrings" 因为是串,所以我们之前II. "残缺的字符串" 的式子中的值只有可能为。这样的话,直接平方后,判别式给出的结果就是题目中的‘Hamming distance’,即不同字符数。 但
阅读全文
摘要:"UVA12879 Golf Bot" 或许我应该把这道题放到I. "BZOJ3513: [MUTC2013]idiots" 前面的QaQ。 这题完全就是那题的子问题,直接暴力FFT一下即可。连特殊情况都不需要考虑。 感觉这题被恶评了,应该是紫 ,不可能到黑。 代码:
阅读全文
摘要:残缺的字符串 莫名其妙最后三个点总是T……但是代码是没问题的。 我们设两个串分别为模式串和文本串,长度分别为和,下标从开始。 先考虑没有通配符的情形。 则如果在串中以位置结尾的个字符可以与串匹配的话,必有$\sum_^t_{x+i-S-1}-s_
阅读全文
摘要:"BZOJ3513: [MUTC2013]idiots" FFT只是一个工具,重点还是你如何运用。 我们设一个函数表示长度为的共有根木棍;设一个表示选出根木棍长度和为共有种方法。显然,$f(x)=\sum_{y=0}^x a(y)a(
阅读全文