乙個n×
m 的網格圖,
k 種顏色,我們要用
k種顏色中的任意種顏色給網格圖染色。要求不存在兩個顏色相同的方格曼哈頓距離為奇數。 共有t
組詢問,給定n,
m,k,求方案數mo
d1000000007
。1≤t
≤104,
1≤n,
m≤20,
1≤k≤
50
既然要求曼哈頓距離為奇數,那我們考慮對網格圖黑白染色,那麼同色方格的只能分配在同乙個集合裡面。
為了不重複計數,考慮列舉嚴格用了
i 種顏色,我們再列舉分配
j種給白集合。設白集合、黑集合大小分別為s1
,s2 ,那麼這種分配方案對答案的貢獻為ci
kcji
fs1,
jfs2
,i−j
j!(i
−j)!
。 其中f
i,j 為第二類斯特林數,表示將
i 個數分配到
j個集合的方案數。 fi
,j=f
i−1,
j−1+
fi−1
,j×j
f0,i
=0i
這些東西都可以預處理。
注意邊界要開好,不然n=
1,m=
1 情況會錯。
時間複雜度o(
n2m2
+qk2
) 。
#include
#include
#include
using namespace std;
intread()
const int p=1000000007;
const int n=20;
const int m=20;
const int s=n*m;
const int k=50;
bool col[n+2][m+2];
int f[s+2][k+2];
int c[s+2][s+2];
int fact[s+2];
int n,m,s1,s2,k,t,ans;
void pre()
}int main()
fclose(stdin),fclose(stdout);
return
0;}
4 6 5 接收資料
在向伺服器傳送問候語之後,客戶端呼叫 recvline 函式接收伺服器的應答。recvline 函式的實現與伺服器相似,不同的是沒有對 recv 函式呼叫失敗作立即處理,而是返回 false 如果recvline 函式返回 false 則先呼叫 showerrormsg 函式顯示錯誤資訊,然後客戶端...
(4 6 5)移動端網路優化
本文為效能優化系列第四篇,目前效能調優專題已完成以下部分 效能優化總綱 效能問題及效能調優方式 效能優化第四篇 流動網路優化 效能優化第三篇 優化 效能優化第二篇 布局優化 效能優化第一篇 資料庫效能優化 android 效能調優工具 traceview 效能優化例項 乙個網路請求可以簡單分為連線伺...
高精度運算 465 Overflow
題目大意 給出兩個非負整數和運算子,判斷非負整數和運算結果是否越界,c中以int為界,最大值2147483647 解題過程 runtime error 2次,wa無數次。在判斷加法時沒什麼陷阱,在判斷乘法時,要考慮到乙個因數為0時,即使另乙個因數越界,結果也不會越界,還有乙個考慮不周的地方就是要去掉...