Fzu 2282 錯排 組合

2021-08-18 12:10:07 字數 650 閱讀 5416

題意:給n個數字,求至少k個數字位置不變的排列數量。

思路:求至少k個人位置不變只要用全排列的數量減掉0-k錯排的數量即可

錯排公式:dn = (n-1)*(dn-2+dn-1);

錯排的數量為c(n,i)*dn;

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

typedef long long ll;

const int mod = 1e9+7;

const int maxn = 10010;

ll dp[maxn];

ll c[maxn][105];

int main()

}dp[0] = 1;

dp[1] = 0;

for(int i = 1; i < maxn; i++)

dp[i] = ((i-1)*(dp[i-2]+dp[i-1])+mod)%mod;

int t;

cin >> t;

while(t--)

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

cout<<(ans-sum+mod)%mod<}

return 0;

}

FZU2282(組合數 錯排)

題目大意 一共n個數 1 n 問a i i的個數大於等於k的方案數。解題思路 其實就是大於等於k個人篩掉後剩下的人進行錯排的問題。選k n個人對應得要乘上組合數,由於n比較大,k相對較小,可以打表陣列肯定mle,於是可以反過來想 總得排列數是ann,扣除小於k的方案就能夠得到答案,由於所有打表都進行...

RPG的錯排(組合數 錯排)

problem description 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r是草兒,p是公主...

日常 錯排公式 組合數

一,錯排公式 dn n e 0.5 只是近似值!4次wa的代價啊!應該寫成這樣 當n個編號元素放在n個編號位置,元素編號與位置編號各不對應的方法數用m n 表示,那麼m n 1 就表示n 1個編號元素放在n 1個編號位置,各不對應的方法數,其它類推.第一步,把第n個元素放在乙個位置,比如位置k,一共...