Acwing1307 牡牛和牝牛

2021-10-10 03:32:57 字數 986 閱讀 8095

link

/*

陣列沒開夠,爆零兩行淚

longlong開成int,爆零兩行淚

多組忘清空,爆零兩行淚

dp 沒初值,爆零兩行淚

深搜沒邊界,爆零兩行淚

廣搜忘出隊,爆零兩行淚

輸入沒加 &,爆零兩行淚

模數沒看見,爆零兩行淚

-1 不輸出,爆零兩行淚

越界不特判,爆零兩行淚

線段樹開一倍,爆零兩行淚

無向變有向,爆零兩行淚

題意沒審清,爆零兩行淚

檔名起錯,爆零兩行淚

除錯忘刪除,爆零兩行淚

沒用freopen,爆零兩行淚

*/#include

using namespace std;

const

int n=

100010

,mod=

5000011

;int n,k;

int f[n]

,s[n]

;int

main()

cout<

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

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

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

思路:

計數經典題,考慮用1代替牡牛,0代替牝牛

f(i)以1結尾表示前i位的排隊方案數

把前i頭牛分成i-k類,(0,1,......i-k-1)表示第某位是1,後面都是零,如***xx10001

注意i-k-1的特判

則顯然f(i)=σj從1到j-k-1,f(j)

複雜度o(n^2)

考慮優化,用s記錄字首和,求f的同時處理s

複雜度o(n)

*/

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 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛 牛們要站成一排 但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有...

組合數學 牡牛和牝牛

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