題意:給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,一共...