神 上帝以及老天爺(遞推問題 錯排)

2021-10-03 18:45:09 字數 626 閱讀 8868

錯排問題:考慮第i個位置,要使全部i個形成錯排, 則有下面兩種情況:

1.假設前i - 1 個位置的人都拿錯了,數量是dp[i - 1],  第i個人拿的是自己的牌, 則這個人和前面(n - 1)個人的任意乙個交換手中的牌即可滿足全部i個位置錯排, 數目有(i - 1) * dp[i - 1]。

2.前面i - 1個位置的人有乙個人拿的是自己的牌, 即有i - 2個人錯排, 數目有dp[i - 2], 第i個人拿的也是自己的牌,此時這個人拿自己的牌和前面i - 1個人中的那個拿著自己的牌的人交換即可滿足全部錯排, 數目 (i - 1) * dp[ i - 2]

即dp[i] = (i - 1) * (dp[i - 1] + dp[i - 2])

#include #include //using namespace std;

long long fun(int n)

int main(int argc, char** ar**)

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

return 0;

}

HDU 神 上帝以及老天爺 錯排方法

hdu 神 上帝以及老天爺 problem description hdu 2006 10 acm contest的頒獎晚會隆重開始了!為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條...

神 上帝以及老天爺(遞推) SDUT

time limit 1000 ms memory limit 2048 kib submit statistic 協會活動為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每...

神 上帝以及老天爺(遞推公式)

problem description hdu 2006 10 acm contest的頒獎晚會隆重開始了!為了活躍氣氛,組織者舉行了乙個別開生面 獎品豐厚的 活動,這個活動的具體要求是這樣的 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入 箱中 然後,待所有字條加入完畢,每人從箱中取乙個字...