摘要:
MTT:任意模数NTT 概述 有时我们用FFT处理的数据很大,而模数可以分解为$a\cdot 2^k+1$的形式。次数用FFT精度不够,用NTT又找不到足够大的模数,于是MTT就应运而生了。 MTT没有模数的限制,比NTT更加自由,应用广泛,可以用于任意模数或很大的数。 MTT MTT是基于NTT的 阅读全文
摘要:
FFT的应用 ——讲稿 概述 FFT的模板很简单,大家都会背,于是出题的空间就在于建模了。FFT的题目难在建模,往往需要将问题抽象出来,经过一系列转化后得到乘积式的和,再赋予式子各个项的系数一定的意义即可。 一些链接: FFT快速傅里叶变换 NTT数论变换 MTT:任意模数NTT 分治FFT 多项式 阅读全文
摘要:
多项式求逆 定义 设$\displaystyle f(x) =\sum^{n 1}_{k=0}a_kx^k$求$g(x) =\sum^{n 1}_{k=0}b_kx^k$,使得 $\displaystyle f(x)g(x)\equiv 1 (\mod x^n)$ 即$\displaystyle f 阅读全文
摘要:
区间dp 概述 区间dp没有什么前置技能,思维难度跨度大,可以出现在NOIP或省选的小题里,需要熟练掌握。 区间dp往往用于处理互相嵌套的区间的问题,我们往往可以先把小的区间做好,然后让大的区间直接调用小区间的子问题进行dp 模式 区间断点 已知数列每个元素的代价和合并两个区间的代价,求整个区间的代 阅读全文
摘要:
树形dp 概述 树形dp 一般用于解决树上问题,答案需要可以从子节点转移到父节点,或者相反。通常的实现方式是在dfs 的过程中顺便求出答案。 树形dp一般分为几种:子树大小统计,树上(类)背包和树上距离问题。 树形dp没有什么前置技能,可以出现在NOIP及高阶的比赛中,难度跨度较大。 子树大小统计 阅读全文
摘要:
状压dp 概述 状压dp就是用二进制表示状态,并且对其子集进行归并的动态规划。它基于基本的位运算,常出现在NOIP和省选中。 状压有明显的数据范围暗示,一般在20左右 三进制枚举 有时我们需要先枚举一个子集,再枚举这个子集的一个子集,此时我们经常二进制枚举两层再判断是否包含。这样很直接,但不如三进制 阅读全文
摘要:
悬线法 介绍 悬线法用于找出矩阵中满足特定条件的最大的矩形,例如全1矩阵或交错矩阵,在NOIP以上都可以考。 悬线法的思想很简单,就是记录每个点向上延伸的最大长度,再算出延伸这么长时最左和最右的长度,然后相乘即可。 例如$(3,2)$点向上可以延伸$2$格,向左、右分别可以延伸$2,3$格,最终的面 阅读全文