自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 拉格朗日插值

拉格朗日插值

2022-08-11 16:11:08 192

原创 Powerful Number筛

Powerful Number筛

2022-08-04 10:27:22 238

原创 q-二项式定理

q-二项式定理

2022-08-04 08:29:03 320

原创 自然数幂和

自然数幂和O(k2)O(k^2)O(k2)递推做法首先令S(n,k)=∑i=1nikS(n,k)=\sum_{i=1}^{n}i^kS(n,k)=∑i=1n​ik,那么我们把S(n,k+1)S(n,k+1)S(n,k+1)给拆开,可以得到如下的方程:$$\begin{aligned}S(n,k+1) & =\sum_{i=1}{n}i{k+1} \S(n,k+1) & =\sum_{i=2}{n}(i-1+1){k+1}+1\S(n,k+1) & =\sum_{j=0}

2022-03-29 21:45:44 339

原创 多项式全家桶

多项式全家桶FFT和NTT首先最基本的FFT和NTT什么的应该能够默写了吧。牛顿迭代法假如有几个关于A(x)A(x)A(x)的函数ggg,现在要求解方程g(A(x))≡0mod  xng(A(x))\equiv 0 \mod x^ng(A(x))≡0modxn,那么不妨先求出方程g(A0(x))≡0mod  x⌈n2⌉g(A_0(x))\equiv 0\mod x^{\lceil \frac{n}{2}\rceil}g(A0​(x))≡0modx⌈2n​⌉的解A0(x)A_0(x)A0​(x),那

2022-03-29 10:13:41 323

原创 折线法学习笔记

折线法从卡特兰数入手,卡特兰数是没有上界要求的,所以只需要对触碰到y=−1y=-1y=−1的情况去掉即可。在卡特兰数中,把折线从第一个碰到y=−1y=-1y=−1的位置开始翻折其实是一种一一映射的想法,对于所有不合法的方案都可以映射到一条到(2n,−2)(2n,-2)(2n,−2)的折线,而每一条这样的折线有可以唯一映射回一条不合法的路径。在有上界的情况,也是用翻折+映射的办法,但是需要再用到容斥。一个比较普通的想法是把碰到y=my=my=m的也按同样的方法翻折然后计数,但是这样会把即碰到y=−1y=

2022-03-19 19:39:55 886

原创 拓扑序下求原排列和逆排列的字典序最大/小的等价性

在PPT的Page8可以看到“排列在拓扑序的限制下,原排列和逆排列的字典序最大/小的等价性”这里证明一下假设现在有一个DAG,容易知道这个DAG的任意一个拓扑序都是排列,不妨假设要最大化拓扑序。把这个排列记作PPP也就是要max⁡P\max PmaxP,记P−1P^{-1}P−1表示PPP的逆排列,逆排列定义为∀1≤i≤n,P−1[P[i]]=i\forall 1\le i\le n,P^{-1}[P[i]]=i∀1≤i≤n,P−1[P[i]]=i。不妨用归纳法证明,显然∣V∣=1|V|=1∣V∣=

2022-03-19 19:38:04 126

原创 莫队二次离线学习笔记

莫队二次离线一般套路还是正常的莫队,但是如果在移动l,rl,rl,r的同时计算答案复杂度会炸掉,那么考虑莫队二次离线,当然要用的话还要满足答案能够差分。下面是算法的流程。以rrr向右移动为例,当rrr移向r+1r+1r+1时,其实就是把r+1r+1r+1在[l,r][l,r][l,r]上的贡献加入,不妨把这个记作([l,r],r+1)([l,r],r+1)([l,r],r+1),更一般的([l,r],x)([l,r],x)([l,r],x)表示xxx在区间[l,r][l,r][l,r]上的贡献,根据

2022-03-19 19:36:03 228

原创 拉格朗日反演学习笔记

拉格朗日反演证明对于两个函数f(x),g(x)f(x),g(x)f(x),g(x),若f(g(x))=xf(g(x))=xf(g(x))=x且f(x),g(x)f(x),g(x)f(x),g(x)的常数项为000,一次项不为000,那么称这两个函数互为复合逆。当然,根据f(g(x))=xf(g(x))=xf(g(x))=x可以推出g(f(x))=xg(f(x))=xg(f(x))=x,证明:f(g(f(x)))=f(x)f(g(f(x)))=f(x)f(g(f(x)))=f(x),令y=f(x)y=f(

2022-03-19 19:35:23 473

原创 二项式反演学习笔记

二项式反演引入记AcA^cAc表示AAA的补集。已知简单的容斥原理为:∣⋃i=1nAi∣=∑p1<p2<⋯<pm∣⋂j=1mApj∣(−1)m+1|\bigcup_{i=1}^{n} A_i|=\sum_{p_1<p_2<\dots<p_m}|\bigcap_{j=1}^{m}A_{p_j}|(-1)^{m+1}∣i=1⋃n​Ai​∣=p1​<p2​<⋯<pm​∑​∣j=1⋂m​Apj​​∣(−1)m+1根据集合交并补的意义可知:∣⋂i=

2022-03-19 19:34:41 335

原创 杜教筛学习笔记

杜教筛杜教筛用于计算函数的前缀和。若需要计算前缀和的函数为fff,前缀和函数为SSS,那么有S(n)=∑i=1nf(i)S(n)=\sum_{i=1}^{n}f(i)S(n)=∑i=1n​f(i)。现在通过构造一个合适的函数ggg,优化其计算过程。对于任意和两个函数f,gf,gf,g,以下均成立:∑i=1n∑d∣ig(d)f(id)=∑i=1ng(i)∑i=1⌊ni⌋f(i)=∑i=1ng(i)S(⌊ni⌋)g(1)S(n)=∑i=1n(g∗f)(i)−∑i=2ng(i)S(⌊ni⌋)\sum_{

2022-03-19 19:33:52 119

原创 单纯形学习笔记

单纯形一般形式单纯形有如下形式:max⁡∑i=1naixi∀1≤i≤m,∑j=1nbi,jxj≤ci∀1≤i≤n,xi≥0\max \sum_{i=1}^{n} a_ix_i\\\forall 1\le i\le m,\sum_{j=1}^{n}b_{i,j}x_j\le c_i\\\forall 1\le i\le n,x_i \ge 0maxi=1∑n​ai​xi​∀1≤i≤m,j=1∑n​bi,j​xj​≤ci​∀1≤i≤n,xi​≥0不妨引入mmm个变量xn+1,…,xn+mx_{n

2022-03-19 19:33:19 138

原创 从单纯形联想到的一种简单线性规划的费用流做法

从单纯形联想到的一种简单线性规划的费用流做法使用条件观察一下单纯形中各项系数,假如对于所有xix_ixi​,其在线性规划中的系数只有+1+1+1或−1-1−1,并且两者至多出现一次,那么就可以用费用流来解决。当然,如果在本身的线性规划中并不成立,但是在对偶问题中成立,也是可以做的。使用方法用费用流中的一个点来描述一个限制,一个限制形如:∑i=1naixi[≥/=/≤]c\sum_{i=1}^{n}a_ix_i[\ge/=/\le]c∑i=1n​ai​xi​[≥/=/≤]c(中间的符号三选一);用一

2022-03-19 19:32:28 226

原创 Min_25筛学习笔记

Min_25筛学习笔记一般套路前提和目的对一个积性函数f(x)f(x)f(x),求其前缀和函数S(n)=∑i=1nf(i)S(n)=\sum_{i=1}^{n}f(i)S(n)=∑i=1n​f(i),并且f(p)f(p)f(p)是一个关于ppp的多项式,f(pk)f(p^k)f(pk)能够快速计算。实现令PiP_iPi​表示第iii个质数,PPP是质数集。定义如下函数:s(n,j)=∑i=2nf(n)[min⁡p∣ip>Pj]g(n,j)=∑i=2nf(i)[i∈P∨minp∣ip&gt

2022-03-19 19:31:51 101

原创 ABC 217

ABC 217快乐ABC,不得不说这题面比Codeforces舒服多了,简洁明了。A - Lexicographic Order字符串比较,用C++自带的string就好了,没脑子题。#include<bits/stdc++.h>using namespace std;string s,t;int main(){ cin>>s>>t; puts(s<t?"Yes":"No");}B - AtCoder Quiz这个也是弱智题了吧。#inc

2021-09-04 22:15:28 328 1

原创 NTT快速数论变换

NTTNTTNTTNTT和FTTFTTFTT十分相似,在FTTFTTFTT中使用了单位复根ω\omegaω来取函数值,在NTTNTTNTT中则使用原根ggg来取函数值。在NTTNTTNTT中,所有的数都是模意义下的。ggg​的一些性质g1,g2,⋯ ,gp−1g^1,g^2,\cdots,g^{p-1}g1,g2,⋯,gp−1在模ppp意义下互不相同根据欧拉定理可知gp−1≡1g^{p-1} \equiv 1gp−1≡1用ggg来替换ω\omegaω实现FFTFFTFFT到NTTNTTNTT的

2021-08-23 22:09:38 368

原创 FWT快速沃尔什变换

FFTDFT把系数表示把转化为点值表示法。有多项式fn(x)=∑i=0n−1aixif_n(x)=\sum_{i=0}^{n-1}a_{i}x^{i}fn​(x)=∑i=0n−1​ai​xi,其中nnn是一个222的幂,现在要快速求出∀i,0≤i<n\forall i,0 \le i <n∀i,0≤i<n的f(ωni)f(\omega_{n}^{i})f(ωni​)。首先把fn(x)f_n(x)fn​(x)的系数按照奇偶性分成两组,分别为hn2(x)=∑i=0n2−1a2ixih_

2021-08-23 22:08:47 186

原创 FFT快速傅里叶变换

DFT把系数表示把转化为点值表示法。有多项式fn(x)=∑i=0n−1aixif_n(x)=\sum_{i=0}^{n-1}a_{i}x^{i}fn​(x)=∑i=0n−1​ai​xi,其中nnn是一个222的幂,现在要快速求出∀i,0≤i<n\forall i,0 \le i <n∀i,0≤i<n的f(ωni)f(\omega_{n}^{i})f(ωni​)。首先把fn(x)f_n(x)fn​(x)的系数按照奇偶性分成两组,分别为hn2(x)=∑i=0n2−1a2ixih_{\fr

2021-08-23 21:51:35 736

原创 【GDSOI 2016】第一题 互补约数

用NNN和nnn加以区分F(N)F(N)F(N)和f(n)f(n)f(n),中间步骤中的在字母右上角加撇的根据是某些分式需要整除。F(n)=∑n=1Nf(n)=∑n=1N∑d∣ngcd(n,nd)=∑k=1Nk∑k∣n∑d∣n[gcd(d,nd)=k]=∑k=1nk∑n′=1⌊Nk⌋∑d∣(kn′)[gcd(d,nd)=k]=∑k=1nk∑n′=1⌊Nk⌋∑d∣(kn′)[gcd(dk,ndk)=1]=∑k=1Nk∑n′=1⌊Nk⌋∑d′∣n′[gcd(d′,n′kd′)=1]=∑k=1Nk∑n′=1⌊N

2021-07-13 21:48:22 109 2

原创 平方和公式

平方和公式∑i=1ni2=2n3+3n2+n3\sum_{i=1}^{n}i^2=\frac{2n^3+3n^2+n}{3}i=1∑n​i2=32n3+3n2+n​证明如下:(a+1)3=a3+3a2+3a+1(a+1)3−a3=3a2+3a+1(a+1)^3=a^3+3a^2+3a+1\\(a+1)^3-a^3=3a^2+3a+1(a+1)3=a3+3a2+3a+1(a+1)3−a3=3a2+3a+1∑i=1n(i+1)3−i3=∑i=1n3i2+3i+1(n+1)3−1=∑i=1n3i

2021-02-03 21:02:40 1159

原创 CF Edu94Div2(1400)C Binary String Reconstruction

题面题目大意有一个01串w,还知道一个定值x通过这个串可以生成一个新的01串s,长度与w相同,方法如下:(假设n是串的长度)if (i-x>=1 && w[i-x]) s[i]=1;else if (i+x<=n && w[i+x]) s[i]=1;else s[i]=0;现在知道生成的串s,求原串w,如果无解输出-1题解还是一道比较好想的题观察发现,如果s[i]=0,那么w[i-x]和w[i+x]一定是0,所以可以先用这个方法把w中必须是

2020-08-26 14:04:55 492 2

原创 CF Edu94Div2(1400)B RPG Protagonist

题面题目大意现在知道p,f,cnts,cntw,s,w的值并且有不等式方程组s1*s+w1*w<=ps2*s+w2*w<=fs1+s2<=cntsw1+w2<=cntw求s1+s2+w1+w2的最大值题解假设s<w可以枚举s1,然后根据贪心算出w1,s2,w2的值,如下:w1=min(cntw,(p-s1*s)/w)s1=min(cnts-s1,f/s)w2=min(cntw-w1,(f-s2*s)/w)然后就更新答案就好了代码#inclu

2020-08-26 13:31:34 542 1

原创 CF Edu94Div2(1400)A String Similarity

CF Edu94 Div2 A. String Similarit题面题目大意给出字符串s,长度为2*n-1定义两个01串(a和b)相似为:存在一个位置i,使得a[i]=b[i]求一个01串w,使得w和s[1…n],s[2…n+1],s[n…2*n-1]这n个串相似数据保证有解题解看到网上有神仙构造法,这里讲一下我的解法考虑到两个01串不相似,当且仅当一个串是另一个串的取反,那么对于从s中截取的n个串,它们取反后的串是不能选的,剩下的串都是可行的,那么不可选取的串的个数是n个(把这n个串放

2020-08-26 09:50:02 231

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除