HDU 6116 路徑計數

2022-05-08 05:12:12 字數 718 閱讀 6235

普通生成函式常用於處理組合問題,指數生成函式常用於處理排列問題。

考慮 對於 $ a $ 個 $ a $ 分為很多堆,這麼分的方案數是 $ c_^ $

然後對於每一堆我們看成乙個數來放,並且所有堆都這樣做,這樣的話總的方案數量是 $ \frac $

就算所有一堆看成的數的排列是不存在相鄰相等的,至少都有 $ n-i-j-k-l $ 對相鄰的相同的數。

然後就可以容斥了,列舉 $ i+j+k+l $ 直接計算就好了。

$ ans = \displaystyle \sum_^ (-1)^ x! \sum_ \frac^ c_^ c_^ c_^} $

後面其實就是四個指數生成函式乘積了。

#includeusing namespace std;

#define maxn 200010

#define p 998244353

#define clr( a ) memset( a , 0 , sizeof a )

typedef long long ll;

int wn[2][maxn];

int pow( int x , int y )

return res;

}void getwn(int l)

int a[maxn] , b[maxn] , c[maxn] , d[maxn];

int main()

}

P1176 路徑計數2

題目描述 乙個n n的網格,你一開始在 1,1 即左上角。每次只能移動到下方相鄰的格仔或者右方相鄰的格仔,問到達 n,n 即右下角有多少種方法。但是這個問題太簡單了,所以現在有m個格仔上有障礙,即不能走到這m個格仔上。輸入輸出格式 輸入格式 輸入檔案第1行包含兩個非負整數n,m,表示了網格的邊長與障...

51nod 1610 路徑計數

原題連線 考慮不同權重為 d 的倍數的邊組成的圖.f d 為此圖中。路徑總數量。由於m 50000 明顯會出現重邊。建議限制邊的數量或者使用鄰接矩陣存圖。矩陣更為方便。由於最初沒有考邊過多。使用了鍊錶 拓撲排序。量較大。include include include include define m...

u105 路徑計數2

time limit 1 second memory limit 128 mb 乙個n n的網格,你一開始在 1,1 即左上角。每次只能移動到下方相鄰的格仔或者右方相鄰的格仔,問到達 n,n 即右下角有多少種方法。但是這個問題太簡單了,所以現在有m個格仔上有障礙,即不能走到這m個格仔上。輸入檔案pa...