BNUOJ 51280 組隊活動

2021-07-22 11:55:06 字數 520 閱讀 5540

【題目】

【題意】中文題目!

【解題方法】dp[i],i個人的組隊方案數。dp=1,dp【i】=sigma(c(i-1,j)*dp[i-1-j])。這個方程怎麼來的呢?考慮一下第i個人,在他前面有j個人,他可以選擇的方案數為c(i-1,j),剩餘的i-1-j的方案數為dp[i-1-j]。根據乘法原理得到每個j的貢獻是c(i-1,j)*dp[i-1-j]。然後列舉一下j,就可以了。

【ac **】

#include #include #include #include using namespace std;

const int maxn = 1005;

typedef long long ll;

const ll mod = 998244353;

ll c[maxn][maxn],dp[maxn];

void init(){

for(int i=0; i<=1000; i++){

c[i][0]=c[i][i]=1;

for(int j=1; j

0002組隊參賽規則

quote 乙個參賽隊伍不能超過三人,可以擁有乙個替補。包括替補在內任何參賽隊員必須為高中畢業五年內,才可以參賽,也就是說研究生一年級的學生還可以參加。現在的問題是給你乙個隊伍,請判斷這個隊伍是否合法。輸入資料 輸入資料報括若干組,每一組包括有若干行,第一行為乙個整數n,為這個隊伍的人數,接著有n行...

20110805 組隊賽 f題

測試資料有多組,對於每組資料,第一行為乙個整數n 1 n 10000 表示表示式中數字的個數,其後的第i 1行每行有乙個整數表示xi的值 1 i n 1 xi 1000000000 對於每組資料,如果你能幫阿里巴巴開啟石門,輸出yes,否則輸出no。58421143579 yesno 這是劉汝佳黑書...

C 100449 組隊競賽

牛牛舉辦了一次程式設計比賽,參加比賽的有3 n個選手,每個選手都有乙個水平值a i。現在要將這些選手進行組隊,一共組成n個隊伍,即每個隊伍3人.牛牛發現隊伍的水平值等於該隊伍隊員中第二高水平值。例如 乙個隊伍三個隊員的水平值分別是3,3,3.那麼隊伍的水平值是3 乙個隊伍三個隊員的水平值分別是3,2...