2019 1 29 自主訓練日誌

2021-09-10 09:00:22 字數 780 閱讀 5768

先說一下貪心演算法(目前理解的程度),和它的名字一樣,貪心演算法是"短視"的,只顧眼前的利益,不考慮整體最優。假設每一步選擇都是不可逆的,每一步選擇之後都有多個選擇,而我們要做的就是選擇當前利益最高的那個選項,直到達到最終目的,然後再回頭看對於整體是否趨於最優。貪心演算法可以說是最簡單的一種思路,用每一步的最優趨近整體最優,而在很多情況下貪心是正確的。

在自學貪心演算法的過程中了解了什麼是"樹"——單向連線沒有迴路的點集,樹的最直觀形象就是生物學上的樹,但理解的時候不可侷限於此。還有演算法複雜度的問題,時間複雜度其實就是演算法執行每一步所需時間的總和,並沒有想象中的難理解(눈_눈),空間複雜度有關儲存空間的知識,看著有點懵。

最後說一下今天做的題目

小瓜想走上乙個一共有n級的台階,由於小瓜的腿長比較特殊,他一次只能向上走1級或者3級或者5級台階。小瓜想知道他有多少種方法走上這n級台階,你能幫幫他嗎?

輸入一行乙個整數n(n<=100000),表示一共有n級台階。

輸出一行乙個整數,表示小瓜上台階的方案數對100003取餘的結果。

輸入樣例

3輸出樣例

2區別於上一題,這次小瓜同學能跳1 3 5三種不同的台階了。多算幾次就可以發現其中的規律,n階台階可以分成1 3 5不同的三部分,一種類似於斐波那契數列的數列。**實現如下

#include

using namespace std;

long long int a[100003];

int main()

cout<}明天繼續看貪心演算法的例題,然後將51nod用到貪心演算法的題目做幾道,爭取掌握使用貪心演算法。

2019 1 19 自主訓練日誌

今天第一次進行自主訓練,第一天就遇到了麻煩,廢話少說,直接上題目。如果乙個數字的十進位制表示中有7,我們就認為他是幸運數字。輸入兩個整數l,r 1 l r 100000 輸出所有滿足l n r的幸運數字n。從小到大輸出所有幸運數字,一行乙個。特別注意如果區間內有任何乙個幸運數字,輸出none。輸入樣...

2019 1 28 自主訓練日誌

訓練第八天,今天沒有選擇繼續看課本,刷了更多的題。簡單的題目做了幾道,用來攢點頭盾,也做了幾道難度適中的題目,難題沒有碰。先說乙個相對簡單的題目 請你幫小瓜將正整數n分解質因數,並從小到大輸出所有的質因數 如果乙個質因數出現多次,則輸出多次 輸入一行乙個正整數n,保證1 n 10 8。輸出若干行,每...

2019 2 2 自主訓練日誌

訓練第十三天,今天沒有ac乙個題目 先說一下這個做了一天的題目,noder咖啡館裡面有n個座位,每天會有若干個顧客來店裡面消費,會得到相應的服務。乙個顧客佔乙個位置,顧客離開之後位置就會空出來。如果顧客來了之後沒有位置,那麼顧客就會直接離開,也就得不到服務。現在已知座位數n,以及一天之內顧客來走的順...