数学
_ 泛白
QQ1204731545
展开
-
拉格朗日插值法求多项式系数 (附代码)
写在前面:学了拉格朗日插值法之后发现大家都说可以在O(n^2)时间内得到多项式系数,但是没有找到代码,网上找了很多资料又因为我太弱了没能看懂,最后在emofunx学长的帮助下终于搞明白了。由于太弱没能看懂的文章引入我们都知道n个点可以确定一个n-1次的多项式F(x),然后用拉格朗日插值法可以求出这个多项式。拉格朗日插值法公式为:由这个公式,对于一个数k,我们很容易在O(n^2)时间求...原创 2019-06-06 14:56:08 · 13477 阅读 · 6 评论 -
牛客暑假多校训练第一场 B Integration
题目描述:(n <= 1000)题解:连乘不好处理,如果连乘可以变成累加就好了。于是想到裂项,要求出n个cic_ici满足:Π1ai2+x2=Σciai2+x2\Pi\frac{1}{a_i^2 + x^2} =\Sigma\frac{c_i}{a_i^2+x^2}Πai2+x21=Σai2+x2ci先试着求一下c1c_1c1:两边同乘a12+x2a_1^2+x^...原创 2019-07-19 23:01:52 · 99 阅读 · 0 评论 -
牛客暑假多校训练第一场 H XOR
题目描述:题意:给一个数组,求所有异或和为零的子序列的长度和。题解:前置知识:线性基问题等价于:对于每一个数字,求有多少包含它的异或和为零的子序列。先求出整个数组的线性基r,对于这r个基底之外的n-r个数字,它们可以和除了这r个基底之外的所有数字任意搭配,然后再用基底去抵消成0,所以这n-r个数字对答案的贡献是(n−r)∗2n−r−1(n-r)*2^{n-r-1}(n−r)∗2n−r...原创 2019-07-20 09:17:15 · 235 阅读 · 0 评论 -
2019南昌网络赛 D. Interesting Series(分治FFT)
题目链接可以推出F(n)=an−1a−1F(n)=\frac{a^n-1}{a-1}F(n)=a−1an−1对于查询k,需要求∑t⊆sasum(ti)\sum_{t\subseteq s} a^{sum(t_i)}∑t⊆sasum(ti),其中t是s的包含k个元素的子集。写出生成函数:f(x)=∏i=1n(asix+1)f(x)=\prod_{i=1}^n(a^{s_i}x+1)f(...原创 2019-09-12 22:34:01 · 233 阅读 · 0 评论 -
牛客练习赛50 F tokitsukaze and Another Protoss and Zerg(分治NTT)
一些废话:写完上一题(分治FFT)之后记起之前牛客写的这道题,题解是用启发式NTT,每次选两个项数最小的合并,当时没有整理NTT的模板所以就先mark了,今天受到分治FFT的启发,想用分治NTT来解决这道题。复杂度分析:一共会分出log(n)层,每层的项数总和数量级是Σai\Sigma a_iΣai,ntt复杂度nlogn,所以总复杂度是O(nlog2n)O(nlog^2n)O(nlog2n...原创 2019-09-12 22:43:41 · 225 阅读 · 0 评论 -
AtCoder Beginner Contest 141 F 题解(线性基)
题意:给你n个数字,划分为两个集合,他们的异或和分别为x和y,求x+y的最大值。题解:原本的异或和为sum,题目可以理解成从n个数字中取出一个集合,这个集合的异或和为x,使得sum^x + x最大。那么对于sum中原本为0的位,如果x的这一位取1,sum ^ x的这一位也会取1,在两个地方都有收益,而sum原本为1的位,x这一位取0还是取1,结果这一位都只有一个1。我们可以用线性基来获得原本...原创 2019-09-16 09:39:57 · 440 阅读 · 0 评论