随笔分类 -  算法---多项式

摘要:BZOJ4827 [Hnoi2017]礼物 Solution 如果一串数的增加,不就等于另一串数减吗? 那么我们可以把答案写成另一个形式: $ans=\sum_{i=1}^n(x_i y_i+C)^2$ $y$可以是重新排列 那么疯狂拆一下式子,化简之后就是: $ans=\sum_{i=1}^nx_ 阅读全文
posted @ 2019-01-29 11:08 QwQGJH 阅读(133) 评论(0) 推荐(0) 编辑
摘要:HDU5730 Shell Necklace 题目大意 已知连续i(1 include include include include include include include include using namespace std; define ll long long define re 阅读全文
posted @ 2019-01-29 09:54 QwQGJH 阅读(144) 评论(0) 推荐(0) 编辑
摘要:BZOJ5306 [Haoi2018]染色 Solution "xzz的博客" 代码实现 cpp include include include include include include include include include using namespace std; define l 阅读全文
posted @ 2019-01-28 16:58 QwQGJH 阅读(166) 评论(0) 推荐(0) 编辑
摘要: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, 阅读全文
posted @ 2019-01-24 08:20 QwQGJH 阅读(178) 评论(0) 推荐(0) 编辑
摘要:前言 在看本文之前,需要确保您已经会了 "FFT(总结在此)" 并且对于数学的掌握十分的好! 优化 我们考虑一下为什么FFT特别的慢,但是怎么优化呢? FFT慢的原因是:用了许多的实数导致运算复杂,而且容易出现精度问题,所以怎么解决? 发现一个神奇的东西: $(W_n)^n=1,(W_n)^{n/2 阅读全文
posted @ 2019-01-23 16:25 QwQGJH 阅读(220) 评论(0) 推荐(0) 编辑
摘要:前言 其实很早之前就写过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^ 阅读全文
posted @ 2019-01-23 15:49 QwQGJH 阅读(267) 评论(0) 推荐(0) 编辑
摘要:前言 我什么都不会,菜的被关了起来。 有标号的DAG图I Solution 考虑递推,设$f_i$表示i个点的答案,显然这个东西是可以组合数+容斥递推? 设$f_i$表示i个点的答案,我们考虑假设现在有j个点入度为1,那么可以选出的点就是一个组合数$C_i^j$,边的可能性有两种,对应的就是$2^{ 阅读全文
posted @ 2019-01-17 21:34 QwQGJH 阅读(306) 评论(0) 推荐(0) 编辑
摘要:前言 ~~多项式求逆还是爽的一批~~ Solution 考虑分治求解这个问题。 直接每一次NTT一下就好了。 代码实现 cpp include include include include include include include using namespace std; define ll 阅读全文
posted @ 2019-01-17 21:13 QwQGJH 阅读(228) 评论(0) 推荐(0) 编辑
摘要:多项式 多项式乘法 FFT,NTT,MTT不是前置知识吗?随便学一下就好了(~~虽然我到现在还是不会MTT,exlucas也不会用~~) "FTT总结" "NTT总结" 泰勒展开 如果一个多项式$f(x)$在$x0$时存在n阶导(就是可以求导$n$次),那么可以换成下面这样的一个式子: $\begi 阅读全文
posted @ 2019-01-16 21:24 QwQGJH 阅读(440) 评论(5) 推荐(0) 编辑