首先按宽度w的奇偶来分情况考虑,解决方向肯定不是消去全部方块然后再还原,而应该是构造一个方案使加进来的俄罗斯方块不会对原图有影响。 然后就是伤脑的画图: 奇数 偶数 图很快就画好,但实现有好多case :),我的实现方式要特判$4$的情况,因为w-4等于0!!! 代码: #include <bits/stdc++.h> /* #include…
计算${g(x)}^n \mod p$ int powmod(int a,int b){ int res=1; for(;b>0;b>>=1,a=1ll*a*a%mod)if(b&1)res=1ll*res*a%mod; return res; } void poly_fast(int *a,int b){ lim=1,b…
NTT: void NTT(int *a,int type){ for(int i=0;i<lim;++i)if(i<rev[i])swap(a[i],a[rev[i]]); for(int k=1;k<lim;k<<=1){ int wn=powmod(type==1?g:gi,(mo…
struct BIT { LL h[(int)1e5 + 9], n; void init(int x) { n = x; f(i,1,n)update(i); } void update(int x) { while(x<=n){ h[x]=aa[x]; int low=lowbit(x); for(int i=1;…
考虑对于区间$[l,r]$, Bob是否可以达成平手。 如果Alice取$l$,Bob取$r$并且有$s[l]=s[r]$,那么区间就转移到了$[l+1,r-1]$上。相反的,如果Alice取$r$,那么Bob可以取$l$,也是同上的。 如果Alice取$l$,Bob取$l+1$并且有$s[l]=s[l+1]$,那么区间就转移到$[l+2,r]$上…
英语不好被题面搞了老半天,:) 不过unrated了,好事!
还好光荣下班? A: #include <bits/stdc++.h> /* #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/hash_policy.hpp> */ using namespace std; const double eps =…
第一类斯特林数 $${n \brack k}={n-1 \brack k-1}+(n-1){n-1 \brack k}$$ 下降幂转普通幂:$$x^{\underline{n}} = \sum\limits_{i=0}^n (-1)^{n-i}{n \brack i} x^i$$上升幂转普通幂:$$x^{\overline{n}} = \sum\l…
反演:求逆映射的过程 二项式反演 \begin{equation*} \begin{split} (x+1)^{n} & = \sum_{i=0}^n\binom{n}{i}x^i \\ x^n & =\sum_{i=0}^n(-1)^{n-i} \binom{n}{i}(x+1)^i \\ \end{split} \end{equation*}
\begin{aligned} ans & = \sum_{i=0}^n\dbinom{n}{i}p^iq^{n-i}i^k \\ & =\sum_{i=0}^n {n\choose i}p^iq^{n-i}\sum_{j=0}^k{k \brace j}i^{\underline{j} } \\ & =\sum_{i=0}…