HDU 2048 神 上帝以及老天爺 動態規劃

2022-06-29 15:45:10 字數 663 閱讀 3991

傳送門

把題目中的求概率改成求比例,那就是求滿足 \(a_i\not= i\) 排列的個數占全排列個數的比例

我們知道 \(n\) 的全排列個數為 \(n!\),那麼要計算的就是滿足 \(a_i\not= i\) 排列的個數,暫且用 \(\\) 表示

設 \(n\) 個數中 \(\\)個數為 \(f_n\)

顯然 \(\\) 個數為 \(1\),然後隨便調換其中數的位置,可以發現, \(n\) 個數中有 \(k\) 個數滿足 \(a_i\not= i\) 的排列有 \(c_n^k\times f_k\) 個

那麼我們可以寫出轉移方程:

\[f_n=n!-\sum_^c_n^k\times f_k-1

\]顯然 \(f_2=1\),然後預處理一下階乘和組合數,就可以遞推答案了。

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

typedef long long ll;

ll c[25][25],f[25];

ll fac[25];

int t,n;

int main()

scanf("%d",&t);

while(t--)

return 0;

}

HDU 2048 神 上帝以及老天爺

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

HDU2048 神 上帝以及老天爺

include include int main return 0 錯排問題。當n個編號元素放在n個編號位置,元素編號與位置編號各不對應的方法數用d n 表示,那麼d n 1 就表示n 1個編號元素放在n 1個編號位置,各不對應的方法數,其它類推.第一步,把第n個元素放在乙個位置,比如位置k,一共有...

HDU 2048 神 上帝以及老天爺

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