JZOJ4654 彩色格仔

2021-07-15 03:18:13 字數 1200 閱讀 5845

乙個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時,即使另乙個因數越界,結果也不會越界,還有乙個考慮不周的地方就是要去掉...