随笔分类 - 算法---多项式
摘要:BZOJ4827 [Hnoi2017]礼物 Solution 如果一串数的增加,不就等于另一串数减吗? 那么我们可以把答案写成另一个形式: $ans=\sum_{i=1}^n(x_i y_i+C)^2$ $y$可以是重新排列 那么疯狂拆一下式子,化简之后就是: $ans=\sum_{i=1}^nx_
阅读全文
摘要:HDU5730 Shell Necklace 题目大意 已知连续i(1 include include include include include include include include using namespace std; define ll long long define re
阅读全文
摘要:BZOJ5306 [Haoi2018]染色 Solution "xzz的博客" 代码实现 cpp include include include include include include include include include using namespace std; define l
阅读全文
摘要:FWT学习笔记 引入 一般的多项式乘法是这样子的: $c_i=\sum_{i,j}a_j b_k [j+k==i]$ 但是如果我们将这个乘法式子里面的+号变换一下变成其他的运算符号呢? $c_i=\sum_{i,j}a_j b_k [j\oplus k==i]$ 其中$\oplus$可以取$and,
阅读全文
摘要:前言 在看本文之前,需要确保您已经会了 "FFT(总结在此)" 并且对于数学的掌握十分的好! 优化 我们考虑一下为什么FFT特别的慢,但是怎么优化呢? FFT慢的原因是:用了许多的实数导致运算复杂,而且容易出现精度问题,所以怎么解决? 发现一个神奇的东西: $(W_n)^n=1,(W_n)^{n/2
阅读全文
摘要:前言 其实很早之前就写过FFT,但是发现自己都是靠背板子记忆的,一会儿就忘了,没怎么深刻理解. 所以再写一次总结来加深影响 引入 考虑两个多项式的乘法: $a_1 x^0+a_2 x+a_3 x^2+...+a_n x^{n 1}$ $b_1 x^0+b_2 x+b_3 x^2+...+b_n x^
阅读全文
摘要:前言 我什么都不会,菜的被关了起来。 有标号的DAG图I Solution 考虑递推,设$f_i$表示i个点的答案,显然这个东西是可以组合数+容斥递推? 设$f_i$表示i个点的答案,我们考虑假设现在有j个点入度为1,那么可以选出的点就是一个组合数$C_i^j$,边的可能性有两种,对应的就是$2^{
阅读全文
摘要:前言 ~~多项式求逆还是爽的一批~~ Solution 考虑分治求解这个问题。 直接每一次NTT一下就好了。 代码实现 cpp include include include include include include include using namespace std; define ll
阅读全文
摘要:多项式 多项式乘法 FFT,NTT,MTT不是前置知识吗?随便学一下就好了(~~虽然我到现在还是不会MTT,exlucas也不会用~~) "FTT总结" "NTT总结" 泰勒展开 如果一个多项式$f(x)$在$x0$时存在n阶导(就是可以求导$n$次),那么可以换成下面这样的一个式子: $\begi
阅读全文