ZJOI2008 生日聚會 dp

2022-06-07 03:48:10 字數 552 閱讀 7302

共有\(n\)個男孩與\(m\)個女孩打算坐成一排。對於任意連續的一段,男孩與女孩的數目之差不超過 \(k\)。求方案數。

\(n,m \leq 150, k \leq 20\)

設 \(f[i][j][k][l]\) 表示放了 \(i,j\) 個男女,所有字尾中,男生減女生最大為 \(k\),女生減男生最大為 \(l\) 的方案數

採用「主動轉移」

f[i+1][j][k+1][max(l-1,0)]+=f[i][j][k][l]

f[i][j+1][max(k-1,0)][l+1]+=f[i][j][k][l]

#include using namespace std;

int f[155][155][22][22],n,m,lim;

const int mod = 12345678;

signed main() }}

}int ans=0;

for(int i=0;i<=lim;i++)

}cout<}

ZJOI2008 生日聚會

zjoi2008 生日聚會 今天是hidadz小朋友的生日,她邀請了許多朋友來參加她的生日party。hidadz帶著朋友們來到花園中,打算 坐成一排玩遊戲。為了遊戲不至於無聊,就座的方案應滿足如下條件 對於任意連續的一段,男孩與女孩的數目之 差不超過k。很快,小朋友便找到了一種方案坐了下來開始遊戲...

bzoj1037 ZJOI2008 生日聚會

bzoj1037 zjoi2008 生日聚會 題意 一排小孩坐著玩遊戲。就座的方案滿足如下條件 對於任意連續的一段,男孩與女孩的數目之差不超過k。給出男孩數,女孩數和k,求就座方案數除以12345678的餘數。題解 dp方程見程式,i1i2表示當前選了幾男幾女,i3i4分別表示當前男比女多幾個和女比...

bzoj1037 ZJOI2008 生日聚會

今天是hidadz小朋友的生日,她邀請了許多朋友來參加她的生日party。hidadz帶著朋友們來到花園中,打算坐成一排玩遊戲。為了遊戲不至於無聊,就座的方案應滿足如下條件 對於任意連續的一段,男孩與女孩的數目之差不超過k。很快,小朋友便找到了一種方案坐了下來開始遊戲。hidadz的好朋友susie...