【OGF生成函式板子題】牛客程式設計巔峰賽S2第11場 C 挑選方案問題
阿新 • • 發佈:2020-12-22
目錄
\[\frac{1}{1-x}(1+x)(1+x+x^2+x^3+x^4)\frac{1}{1-x^2}\frac{1}{1-x^5}
\]
題目連結
https://ac.nowcoder.com/acm/contest/10322/C
題面
自助餐廳裡有5個盤子,裡面裝的都是麵包。
第1個盤子裡有無限個麵包;
第2個盤子裡只有1個麵包;
第3個盤子裡只有4個麵包;
第4個盤子裡也有無限個麵包,但必須兩個兩個地拿;
第5個盤子裡也有無限個麵包,但必須5個5個地拿;
給定正整數n,求有多少種正好拿出n個麵包的方案。
方案a和方案b不同,當且僅當方案a存在從某個盤子裡拿出麵包的數量與方案b中對應盤子拿出的數量不同。
n<=10^9
資料僅包含一個正整數n
輸出一個正整數表示答案。
解題思路
這一眼看過去就是OGF板子題呀
結果扔到mma裡給我算出來這玩意??
我臨時找到一種辦法
下面的AC程式碼思路很明顯了
標答給的是\((n+1)(n+2)/2\)
計算的時候寫的時候看錯了一項,賽後過題嗚嗚嗚
AC程式碼
class Solution { public: /** * 程式碼中的類名、方法名、引數名已經指定,請勿修改,直接返回方法規定的值即可 * * @param n int整型 * @return long長整型 */ long long wwork(int n) { // write code here long long ans=0; for(long long i=0;i<=n;i++){ if((n-i)%5==0){ if(i>=2) ans+=(5*i-5); else if(i==0) ans+=1; else if(i==1) ans+=3; else if(i==2) ans+=6; } } return ans; } };