組合計數 牡牛和牝牛

2021-10-04 08:05:03 字數 743 閱讀 6623

約翰要帶 nn 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛。

牛們要站成一排,但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有 kk 只牝牛。

請計算一共有多少種排隊的方法,所有牡牛可以看成是相同的,所有牝牛也一樣,答案對 50000115000011 取模。

輸入格式

一行,輸入兩個整數 nn 和 kk。

輸出格式

乙個整數,表示排隊的方法數。

資料範圍

1≤n≤1051≤n≤105,

0≤k輸出樣例:

6樣例解釋

66 種方法分別是:牝牝牝牝,牡牝牝牝,牝牡牝牝,牝牝牡牝,牝牝牝牡,牡牝牝牡。

思路:f[n]代表的是以n為最後乙個1的所有可能的種數,而利用遞推,加上所有倒數第二個1的位置的可能

#include

#include

#include

#include

using

namespace std;

const

int n =

100010

, mod =

5000011

;int n, k;

int f[n]

, s[n]

;int

main()

cout << s[n]

<< endl;

return0;

}

組合數學 牡牛和牝牛

約翰要帶 n 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛。牛們要站成一排,但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有 k 只牝牛。請計算一共有多少種排隊的方法,所有牡牛可以看成是相同的,所有牝牛也一樣,答案對 5000011 取模。輸入格式 一行,輸入兩...

bzoj 3398 牡牛和牝牛

牝 pin 4聲 母的意思。牡 mu 3聲 公的意思。看到這些字我直接愣了,其實放在牝雞司晨和牡蠣這兩個詞裡我絕對能認出來。是不是該去頹語文了?這道題f i 表示最後乙個是公牛的方案數,sigma f j j問題是hzwer用了奇怪的排列組合。這道題可以用隔板法,設abcd是放公牛的位置,那麼a,b...

BZOJ3398 牡牛和牝牛

time limit 1 sec memory limit 128 mb submit 440 solved 301 約翰要帶n 1 n 100000 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛 牛們要站成一排 但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有...