标签:limits 二进制 注意 tps html 次数 tmp 影响 for
2020-01-02:
凭实力抱0,就没什么好说的。
T1的式子推错,但没有拍。T2数组开小,可能最近时间逐渐膨胀,已经忘记了自己渣渣的本质了。
T1:
刚开始推了错误的柿子,将序列按题意分成三部分用隔板法。
然后其实第一部分隔板显然是错的,因为不像第二部分钦定每个已经选了$A_i$个就消除影响了。
第一部分先钦定所有都选了$A_i$,在考虑把减的分配,但不能保证减的<=$A_i$。
过了样例没多想,太大意了。
正解对第一部分奇加偶减容斥,还是套用先选够的思想,但这里是至少有多少个不合法,二进制枚举(所以$n1$<=8)。
因为模数,去学了波$exlucas$。
1 inline LL fac(int n,const int &pi,const int &pk){ 2 if(!n)return 1LL; 3 LL res=1LL; 4 for(int i=2;i<=pk;++i)if(i%pi)res=res*i%pk; 5 res=qpow(res,n/pk,pk); 6 for(int i=2;i<=n%pk;++i)if(i%pi)res=res*i%pk; 7 return res*fac(n/pi,pi,pk)%pk; 8 } 9 inline LL CRT(int ai,int mi,const int &Mod){ 10 return ai*(Mod/mi)%Mod*qpow(Mod/mi,phi(Mod)-1,Mod)%Mod; 11 } 12 inline LL C(int n,int m,int pi,int pk){ 13 LL fz=fac(n,pi,pk),fm1=fac(m,pi,pk),fm2=fac(n-m,pi,pk); 14 int k=0; 15 for(int i=n;i;i/=pi)k+=i/pi; 16 for(int i=m;i;i/=pi)k-=i/pi; 17 for(int i=n-m;i;i/=pi)k-=i/pi; 18 return fz*qpow(fm1,phi(pk)-1,pk)%pk*qpow(fm2,phi(pk)-1,pk)%pk*qpow(pi,k,pk)%pk; 19 } 20 inline LL exlucas(int n,int m,const int &Mod){ 21 if(n<m)return 0; 22 if(!m)return 1; 23 LL res=0,tmp=Mod; 24 for(int i=2;i<=sqrt(Mod);++i) 25 if(tmp%i==0){ 26 int pk=1; 27 while(tmp%i==0)tmp/=i,pk*=i; 28 res=(res+CRT(C(n,m,i,pk),pk,Mod))%Mod; 29 } 30 if(tmp>1)res=(res+CRT(C(n,m,tmp,tmp),tmp,Mod))%Mod; 31 return res%Mod; 32 }
实现过程是把模数分解质因子,求出每个$C_{n}^{m} \equiv a (mod\ P^{k})$的$a$,然后$CRT$合并。
然后利用$\frac{\frac{n!}{P^{x}}}{\frac{m!}{P^{y}}*\frac{(n-m)!}{P^{z}}}*P^{x-y-z} \equiv a(mod\ P^{k})$的形式。
把所有阶乘的$P$提出来,使互质可求逆元,求阶乘提质因子是递归过程,根据化的式子搞循环节,具体网上证明比较清晰。
单次求$a$的时间复杂度为$log_P$,如果调用次数多,预处理记忆化一些数组即可。
T2:
$FWT$的题,$FFT$时并没有写过题,全忘了。
注意变化值求一个点值数组。
or,and都是对于每个分治区间最高位影响。xor不会证。
dalao的博客考虑点值具有结合率和交换率。
所以第$2^{i}$行的点值就是第$2^{i-1}$的点值相乘。
要的答案为$\sum_{i=0}^{p}{x^{i}}$,可以倍增搞定$p$。
$f[x][i]=\sum\limits_{j=0}^{2^i-1} x^{2^j}$
$f[x][i]=f[x][i-1]+f[x^{2^{2^{i-1}}}][i-1]$
因为$f[x][i]$定义左闭右开,所以$P++$
T3:
对于状态$b$,状态$a_i$都可以转移,$g_i$为$a_i$的全局概率。
期望逆推可以直接$\sum {a_i}$
正推是$\frac{\sum g_{i}*a_{i}}{\sum g_{i}}$
不会证。
因为一个区间$[l,r]$可以分成$[l,k],[k+1,r]$,其中$s[k]==‘O‘$,所以具有子结构。
然后计忆化搜索,颓的代码。。。
标签:limits 二进制 注意 tps html 次数 tmp 影响 for
原文地址:https://www.cnblogs.com/2018hzoicyf/p/12144020.html