bzoj 2169 連邊 DP 容斥

2022-05-12 10:45:21 字數 686 閱讀 8870

題目:

就和這篇部落格說的一樣:

注意每次是 /i 而不是 /(i!),因為 i-1 時也已經去了重,現在就是對於新加一條邊的多種方式帶來一種局面去重,從每一種局面看,新加的邊可以是任意一條,所以 /i。

**如下:

#include#include

#include

#include

using

namespace

std;

typedef

long

long

ll;int

const xn=1005,mod=10007

;int

n,m,k,deg[xn];

ll f[xn][xn];

intrd()

while(ch>='

0'&&ch<='

9')ret=(ret<<3)+(ret<<1)+ch-'

0',ch=getchar();

return f?ret:-ret;

}ll pw(ll a,

intb)

ll calc(

int x)

intmain()

printf(

"%lld\n

",f[k][0

]);

return0;

}

題解 BZOJ2169 連邊

看到資料範圍很容易想到 dp 方程式 設 f i j 代表已經連了 i 條邊,還有 j 個奇數點,並且方案全部合法的方案數 那麼有 displaystyle beginf i j f i 1 j 2 binom f i 1 j 2 binom f i 1 j n j j end 分別代表連兩個奇數點...

bzoj1042 DP 容斥原理 硬幣購物

description 硬幣購物一共有4種硬幣。面值分別為c1,c2,c3,c4。某人去商店買東西,去了tot次。每次帶di枚ci硬幣,買si的價值的東西。請問每次有多少種付款方法。input 第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,s output 每次的方法...

bzoj 3812 狀壓dp 容斥原理

題意 乙個n個點m條邊的有向強連通圖,去掉一些邊使其仍然強連通,求方案數。以前做的題,現在看已經不知道自己在寫什麼了。寫一點題解。如果乙個圖縮點後變成乙個有多個點的dag,那麼這玩意一定不連通。設f i 表示拆邊使集合i強連通的方案數,g i 表示i集合的點縮點後成為奇數個彼此沒有邊的點的方案數,p...