錯排與組合數(shù)

所謂錯排便是每一個數(shù)的都不會出現(xiàn)在原先排列的位置,如原排列1234中便不會出現(xiàn)1342這種錯排悼院,因為1的位置還是在原排列的位置之中。有公式

錯排.png

其中有D1=0咒循,D2=1 据途。
公式推導(dǎo)如下:
1.在n個數(shù)中將其中一個數(shù)k放到除它位置外的可能有(n-1)個可能。(設(shè)它放在位置m上)
2.那么m位置上的數(shù)便有兩種情況叙甸,有可能在前一個數(shù)的位置上和不可能在前一個數(shù)的位置上颖医,而對于第一種的可能結(jié)果有(n-1)種,后面有(n-2)種可能裆蒸。
那不難得到錯排的可能性如上公式所述熔萧。
而組合數(shù),便是能夠從n個數(shù)中挑出其中的m個數(shù)(n>m),第一個數(shù)有n個位置選擇佛致,第二個數(shù)有(n-1)個位置選擇贮缕,直到m個數(shù)有(n-m+1)個位置選擇。那么可能結(jié)果便為(n-m+1)到n的乘積俺榆。然而這個卻是有序的排列感昼,若要做到無序排列,還得在所選m個數(shù)中在進(jìn)行一次排列組合肋演,即m抑诸!的可能性〉猓可得知無序排列為
n蜕乡!/【m!(n-m)梗夸!】
我們可以從oj-2068來掌握這兩種方法层玲。
題目鏈接:RPG的錯排
2068.png

題目要求找出一半以上即為成功,即奇數(shù)在整形除2時要多出1反症。有n個女生辛块,那么找出k個女生即可的可能答案,將k直到n的可能組合一一算出铅碍,在中間的每種可能中又有一個對應(yīng)的錯排润绵,那么2者得到的乘積之和在加上1便是最后的答案。因在錯排計算中胞谈,若全部選中的尘盼,錯排為0,但又有全部選中這一可能性烦绳,故而要還上這一可能性卿捎。
第一個便是組合數(shù)的計算,但就算使用了long的整形径密,在21午阵!之上便開始溢出,那么便要對公式 n享扔!/【m底桂!
(n-m)!】進(jìn)行變換惧眠,即為[(n-m+1)...n]/(n-m)籽懦!。
第二個便是將錯排的結(jié)果求出锉试,這個并沒有多大問題猫十。

import java.util.*;
public class Main{
    public static void main (String[] args) {
        long[] d = new long [26];
        d[1]=0;     d[2]=1;
        int i;
        for(i=3;i<26;i++) {
            d[i]=(i-1)*(d[i-1]+d[i-2]);
        }   //錯排的計算
        Scanner scan = new Scanner(System.in);
        while(scan.hasNextInt()) {
            int n=scan.nextInt();
            if(n==0)break;
            int k;
            long sum=0;
            k=n/2;
            if(n%2==1) k++;     //奇數(shù)的一半以上
            for(i=k;i<=n;i++) {
                sum = sum+d[n-i]*jie(i,n);
            }
            System.out.println(sum+1);
        }
    }
    //組合數(shù)的計算
    public static long jie(int i,int n) {
        long k=0,sum2=1,sum3=1;
        if(n==i) k = 1;
        else {
        for(k=i+1;k<=n;k++) {
            sum2 *= k;
        }
        for(k=1;k<=n-i;k++) {
            sum3 *= k;
        }
        k=sum2/sum3;}
        return k;
    }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末览濒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子拖云,更是在濱河造成了極大的恐慌贷笛,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宙项,死亡現(xiàn)場離奇詭異乏苦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)尤筐,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門汇荐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盆繁,你說我怎么就攤上這事掀淘。” “怎么了油昂?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵革娄,是天一觀的道長。 經(jīng)常有香客問我冕碟,道長拦惋,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任安寺,我火速辦了婚禮厕妖,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘挑庶。我一直安慰自己言秸,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布挠羔。 她就那樣靜靜地躺著井仰,像睡著了一般埋嵌。 火紅的嫁衣襯著肌膚如雪破加。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天雹嗦,我揣著相機(jī)與錄音范舀,去河邊找鬼。 笑死了罪,一個胖子當(dāng)著我的面吹牛锭环,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泊藕,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼辅辩,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起玫锋,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蛾茉,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后撩鹿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谦炬,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年节沦,在試婚紗的時候發(fā)現(xiàn)自己被綠了键思。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡甫贯,死狀恐怖吼鳞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情叫搁,我是刑警寧澤赖条,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站常熙,受9級特大地震影響纬乍,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜裸卫,卻給世界環(huán)境...
    茶點故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一仿贬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧墓贿,春花似錦茧泪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至幽勒,卻和暖如春嗜侮,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背啥容。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工锈颗, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咪惠。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓击吱,卻偏偏與公主長得像,于是被迫代替她去往敵國和親遥昧。 傳聞我的和親對象是個殘疾皇子覆醇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容