一,錯排公式
dn=[n!/e+0.5]只是近似值!4次wa的代價啊!
應該寫成這樣
當n個編號元素放在n個編號位置,元素編號與位置編號各不對應的方法數用m(n)表示,那麼m(n-1)就表示n-1個編號元素放在n-1個編號位置,各不對應的方法數,其它類推.
第一步,把第n個元素放在乙個位置,比如位置k,一共有n-1種方法;for (i=3;i<=20;i++)第二步,放編號為k的元素,這時有兩種情況.1,把它放到位置n,那麼,對於剩下的n-2個元素,就有m(n-2)種方法;2,不把它放到位置n,這時,對於這n-2個元素,有m(n-1)種方法;
綜上得到
m(n)=(n-1)[m(n-2)+m(n-1)]
特殊地,m(1)=0,m(2)=1
s[i] = (i-1)*(s[i-1] + s[i-2]);
n的錯排數即為s[n]
例題:hdu 2094
二、組合數
以前是先算出上下兩項然後相除,發現會區域性越界。
比較科學的寫法是乘完乙個後馬上除掉乙個~
typedef long long ll;
using namespace std;
ll c(ll a, ll b)
return ans;
}
RPG的錯排 錯排公式 組合數學
要其中一半一下的數錯排即可,那麼就是我們累加一遍錯的排序及其出現的組合數即可,那麼,我們只需要知道怎麼求錯排的數的對應情況,及可能即可了 遞推錯排公式 將n個錯排數記為f n 將n中的第1個排錯,假設放在第k個位置,就有n 1種放法。那麼第k個可以放在第1個位置,剩下的還有n 2個進行錯排,為f n...
RPG的錯排(組合數 錯排)
problem description 今年暑假杭電acm集訓隊第一次組成女生隊,其中有一隊叫rpg,但做為集訓隊成員之一的野駱駝竟然不知道rpg三個人具體是誰誰。rpg給他機會讓他猜猜,第一次猜 r是公主,p是草兒,g是月野兔 第二次猜 r是草兒,p是月野兔,g是公主 第三次猜 r是草兒,p是公主...
組合數公式
若表示在 n 個物品中選取 m 個物品,則如存在下述公式 所以可以用遞推算組合數 題目描述 開學了,學校又迎來了好多新生。acmer想為新生準備乙個節目。來報名要表演節目的人很多,多達n個,但是只需要從這n個人中選m個就夠了,一共有多少種選擇方法?輸入 測試例項包括多組測試資料,每組資料佔一行。每組...