time limit: 1 sec memory limit: 128 mb
submit: 440 solved: 301
約翰要帶n(1≤n≤100000)只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛.牛們要站成一排.但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有k(o≤k請計算一共有多少種排隊的方法.所有牡牛可以看成是相同的,所有牝牛也一樣.答案對5000011取模
一行,輸入兩個整數n和k.
乙個整數,表示排隊的方法數.
4 26
樣例說明
6種方法分別是:牝牝牝牝,牡牝牝牝,牝牡牝牝,牝牝牡牝,牝牝牝牡,牡牝牝牡
解析:網上一大堆題解都是動態規劃,但我用的是組合數。
列舉牡牛的數量m,將總牛數減去至少需要的牝牛數量後記為n,則每種數量的答案就為c(n,m),答案就是把合法答案加起來即可。
**:
#include #define int long long
using namespace std;
const int mod=5000011;
int n,k,ans;
inline int ksm(int a,int b)
return ans % mod;}
inline int c(int n,int m)
inline int lucas(int n,int m)
signed main()
cout
}
bzoj 3398 牡牛和牝牛
牝 pin 4聲 母的意思。牡 mu 3聲 公的意思。看到這些字我直接愣了,其實放在牝雞司晨和牡蠣這兩個詞裡我絕對能認出來。是不是該去頹語文了?這道題f i 表示最後乙個是公牛的方案數,sigma f j j問題是hzwer用了奇怪的排列組合。這道題可以用隔板法,設abcd是放公牛的位置,那麼a,b...
組合數學 牡牛和牝牛
約翰要帶 n 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛。牛們要站成一排,但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有 k 只牝牛。請計算一共有多少種排隊的方法,所有牡牛可以看成是相同的,所有牝牛也一樣,答案對 5000011 取模。輸入格式 一行,輸入兩...
組合計數 牡牛和牝牛
約翰要帶 nn 只牛去參加集會裡的展示活動,這些牛可以是牡牛,也可以是牝牛。牛們要站成一排,但是牡牛是好鬥的,為了避免牡牛鬧出亂子,約翰決定任意兩隻牡牛之間至少要有 kk 只牝牛。請計算一共有多少種排隊的方法,所有牡牛可以看成是相同的,所有牝牛也一樣,答案對 50000115000011 取模。輸入...