POJ3734-Blocks【EGF】
正題
題目鏈接:http://poj.org/problem?id=3734
題目大意
用思種顏色給nnn個格子染色,要求前兩種顏色出現偶數次,求方案。
1≤T≤100,1≤n≤1091\leq T\leq 100,1\leq n\leq 10^91≤T≤100,1≤n≤109
解題思路
反正是EGF\text{EGF}EGF的十分入門題了。
首先是∑i=0∞xii!=ex\sum_{i=0}^{\infty}\frac{x^i}{i!}=e^x∑i=0∞?i!xi?=ex。
這題帶標號計數所以求的是
(∑i=0∞x2i2i!)2×(∑i=0∞xii!)2(\sum_{i=0}^\infty\frac{x^{2i}}{2i!})^2\times (\sum_{i=0}^\infty\frac{x^i}{i!})^2(i=0∑∞?2i!x2i?)2×(i=0∑∞?i!xi?)2
嗯,后面那個就是exe^xex,前面那個怎么搞。
考慮點花里胡哨的東西,e?x=∑i=0∞(?1)ixii!e^{-x}=\sum_{i=0}^\infty (-1)^i\frac{x^i}{i!}e?x=∑i=0∞?(?1)ii!xi?,然后我們就有
∑i=0∞x2i2i!=e+e?x2\sum_{i=0}^\infty\frac{x^{2i}}{2i!}=\frac{e+e^{-x}}{2}i=0∑∞?2i!x2i?=2e+e?x?
然后帶進式子就是
(ex+e?x2)2×e2x=e4x+2e2x+14(\frac{e^x+e^{-x}}{2})^2\times e^{2x}=\frac{e^{4x}+2e^{2x}+1}{4}(2ex+e?x?)2×e2x=4e4x+2e2x+1?
然后eax=∑i=0∞aixii!e^{ax}=\sum_{i=0}^{\infty}a^i\frac{x^i}{i!}eax=∑i=0∞?aii!xi?,所以展開一下項就是
[xn]=4n+2n×24=4n?1+2n?1[x^n]=\frac{4^n+2^n\times 2}{4}=4^{n-1}+2^{n-1}[xn]=44n+2n×2?=4n?1+2n?1
時間復雜度O(Tlog?n)O(T\log n)O(Tlogn)
code
#include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int P=10007; int n,T; int power(int x,int b){int ans=1;while(b){if(b&1)ans=ans*x%P;x=x*x%P;b>>=1;}return ans; } int main() {scanf("%d",&T);while(T--){scanf("%d",&n);n--;n%=(P-1);printf("%d\n",(power(2,n)+power(4,n))%P);} }總結
以上是生活随笔為你收集整理的POJ3734-Blocks【EGF】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 马来西亚有哪些好玩的地方
- 下一篇: 深圳梧桐山好玩不