《資訊學奧賽一本通》 昆蟲養殖 題解

2022-02-06 06:58:16 字數 787 閱讀 7024

科學家在熱帶森林中發現了一種特殊的昆蟲,這種昆蟲的繁殖能力很強。每對成蟲過x個月產y對卵,每對卵要過兩個月長成成蟲。假設每個成蟲不死,第乙個月只有一對成蟲,且卵長成成蟲後的第乙個月不產卵(過x個月產卵),問過z個月以後,共有成蟲多少對?0≤x≤20,1≤y≤20,x≤z≤50。

x,y,z的數值。

過z個月以後,共有成蟲對數。

1 2 8

37

這題從兔子生小兔子衍生出來的遞推題。

通過觀察可以發現,成蟲數量與幼蟲數有關。而幼蟲數又與成蟲數有關。

所以我們就可以發現這個題目要用二個陣列去記錄數量。

按照慣例 設a(adult)為成蟲數,a[i]為當前i月的成蟲數。c為幼蟲數。

用遞推式:

a[i] = a[i-1] + c[i-2] (這個月的成蟲數 = 上月的成蟲書 + 

前2個月的幼蟲數-因為幼蟲變為成蟲了 )

c[i] = y*a[i-x]  (而這個月的幼蟲數 = 上x個月的成蟲生的)
#include #define maxn 50

using

namespace

std;

long

long a[151],c[151

];int

main()

for(int i=x;i1;++i)

cout

<< a[z]

}

資訊學奧賽一本通提高篇題解

感謝齊工大oj提供測試環境 1.1 貪心 活動安排 區間貪心,對於區間,按照右端點公升序排序,然後選擇離前乙個區間最近的不重合區間 種樹 對於區間,按照右端點公升序排序,讓樹盡量種在靠右的地方,用陣列標記狀態 噴水裝置 1.2 二分 憤怒的牛 最小值最大,二分距離mid 對於mid,如果距離大於mi...

《資訊學奧賽一本通》 位數問題 題解

時間限制 1000 ms 記憶體限制 65536 kb 提交數 3907 通過數 2025 在所有的n n位數中,有多少個數中有偶數個數字3 3 由於結果可能很大,你只需要輸出這個答案對12345 12345 取餘的值。讀入乙個數n n 1000 n n 1000 輸出有多少個數中有偶數個數字3 3...

資訊學奧賽一本通 小球(drop)

許多的小球乙個乙個的從一棵滿二叉樹上掉下來組成fbt full binary tree,滿二叉樹 每一時間,乙個正在下降的球第乙個訪問的是非葉子節點。然後繼續下降時,或者走右子樹,或者走左子樹,直到訪問到葉子節點。決定球運動方向的是每個節點的布林值。最初,所有的節點都是false,當訪問到乙個節點時...