題目地址:POJ 3254
狀壓水題。
先預處理出每行所有可能出現的情況。然後可以用vector存起來。
然後先處理出第一行所有的情況。然後再從第二行開始不斷與上一行進行狀態轉移,狀態轉移很簡單就不說了。
最後統計出最後一行的個數和就可以了。
代碼如下;
#include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 const int mod=100000000; const int INF=0x3f3f3f3f; int a[20][20]; int dp[3][1<<13]; vectorvec[13]; bool Judge(int x, int y, int m) { int i; for(i=0; i0&&(j&(1<=mod) dp[i&1][tmp]%=mod; } } if(i==n-1) { ans+=dp[i&1][tmp]; if(ans>=mod) ans%=mod; //printf("%d\n",ans); } } } if(n==1) { ans=vec[0].size(); } printf("%d\n",ans); return 0; }
Given n, generate all structur
#1067 : 最近公共祖先·二時間限制:10
#include <iostream&g
D. Book of Evil time lim
boost模板庫與線性表Boost的安裝使用boost,首先
1. 設置自動激活(auto-activati