考新郎(錯排)

2021-09-02 23:50:29 字數 1842 閱讀 5937

剛剛打完所謂的校賽

並不如意。

學長們口口聲聲說的簡單的題

我做起來卻是一次又一次的wa(wrong answer)

之前總是覺得自己很行

就很漂所以就炸了

————————————————分界線————————————————

我個人的反思和感受:

打acm

肯定不是三天兩天就能夠速成的

需要不斷積累不斷學習新的演算法和技巧。

不能浮躁 要有耐心。

下面是補題(訓練7):

1:考新郎

國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做"考新郎",具體的操作是這樣的:

首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排;

然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.

最後,揭開蓋頭,如果找錯了物件就要當眾跪搓衣板…

看來做新郎也不是容易的事情…

假設一共有n對新婚夫婦,其中有m個新郎找錯了新娘,求發生這種情況一共有多少種可能.

input

輸入資料的第一行是乙個整數c,表示測試例項的個數,然後是c行資料,每行包含兩個整數n和m(1output

對於每個測試例項,請輸出一共有多少種發生這種情況的可能,每個例項的輸出佔一行。

sample input

22 2

3 2sample output13

—————————————————分界線—————————————————————

這是乙個錯排題,需要運用錯排公式

下面是錯排公式的推導:

首先先理解一下什麼是錯排:考慮乙個有n個元素的排列,若乙個排列中所有的元素都不在自己原來的位置上,那麼這樣的排列就稱為原排列的乙個錯排。

其中n個元素的錯排數記為d(n)。

現在想象乙個情景

有n本書,現在要重新排列。

**假如說取的那本書命名為a,位置也是a。

取出它,放到另乙個位置b。有(n-1)種情況

此時,b這個位置放的書是a,手中是書b,空位是a。

於是現在存在兩種情況。

**①把書b放回a位置

②不考慮空位a

第一種情況:把b書放入a空中,也就是a,b交換,其他的沒有被移動,仍然是一一對應的。

那麼對於剩下的幾本書的錯排,就回到了最初。求n-2本書的錯排運算元d(n-2),結合前面的分析,共有(n-1)d(n-2)種情況。

第二種情況:不放入a空中,那麼還剩下n-2個位置,那麼現在要排的書是手中的那本和未排序的那n-2本,也就是n-1本。這就是相當於把這n-1本書進行錯排。所以問題就變成了求n-1本書的錯排運算元d(n-1),結合前面的分析,共有(n-1)d(n-1)種方法。

綜合兩種情況,相加就可以得到錯排公式。

d(n)=(n-1)*[d(n-1)+d(n-2)]

———————————————分界線—————————————————

回到這個題,這個題也是乙個錯排題,但是又不僅僅是乙個錯排題。

從n個新郎,挑出m個錯排,那就是有n-m個新郎選對了。

此時就要用到高中時學到的排列組合

所以 最後的公式為:s=c(n,n-m)*d[m] (其中d[m]是錯排公式的值)

搞清楚了這些,**寫起來就不麻煩了。

#includeint main()

return 0;

}

HDU 2049 考新郎(錯排)

國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並且不允許多人找乙個.最後,揭開蓋頭,如果...

HDU 2049 考新郎 遞推 錯排

problem description 國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准找乙個,並...

不容易系列之 4 考新郎 組合 錯排

題目鏈結 problem description 國慶期間,省城hz剛剛舉行了一場盛大的集體婚禮,為了使婚禮進行的豐富一些,司儀臨時想出了有乙個有意思的節目,叫做 考新郎 具體的操作是這樣的 首先,給每位新娘打扮得幾乎一模一樣,並蓋上大大的紅蓋頭隨機坐成一排 然後,讓各位新郎尋找自己的新娘.每人只准...