acm週末學習總結

2021-09-19 09:01:31 字數 1159 閱讀 7971

搜尋是萬能演算法:如何找所有解?列舉。列舉的方法?遞迴。遞迴的組合?搜尋。

廣搜

while not queue.empty ()

begin

可加結束條件

tmp = queue.top ()

從tmp迴圈拓展下乙個狀態next

if 狀態next合法 then

begin

生成新狀態next

next.step = tmp.step + 1

queue.pushback (next)

endqueue.pop ()

end

深搜

遞迴實現:

function dfs (int step, 當前狀態)

begin

可加結束條件

從當前狀態迴圈拓展下乙個狀態next

if 狀態next合法 then

dfs (step + 1, next ))

end非遞迴實現:

while not stack.empty ()

begin

tmp = stack.top()

從tmp拓展下乙個未拓展的狀態next

if 沒有未拓展狀態(到達葉節點) then

stack.pop()

else if 狀態next合法 then

stack.push(next)

end

#include#include#includeusing namespace std;

int a[100][100],t=0; //路徑總數和路徑

int x[4]=, //四種移動規則

y[4]=;

int search(int); //搜尋

int print(int); //列印

int main() //主程式

;

int search(int i)  }

int print(int ii)

}

acm週末學習總結

如果不進行大量的練習,只是被動的聽課,那樣一點效果都沒有。acm很看投入,投入少想見成果,很難。更何況我們的演算法課才12周。這兩天看了看搜尋的一些題目,我算是剛剛接觸搜尋,我覺得難度挺大,看透了一些題目之後就好很多了,那一陣學搜尋的時候沒理解。本週還是主要對單調佇列和二分進行學習,二分還好,固定模...

acm週末學習總結

這週做了洛谷上面的題目,還是發現很多自己的不足,最大的問題是思路不清晰。細節不到位。最近幾周把精力集中在acm上,要為進入校隊而努力了!然後今天和乙個舍友組了個隊打了一場比賽,最後就是有5道題有思路卻只ac了3道,並查集的題目我們都不會,用別的方法沒做出來,暴力不是總會出奇蹟。細節,還是得注意細節。...

週末學習總結

關於下午的網路賽,我們的水平是3題,但是只出了2題。最後5分鐘打表找了e的規律,我們還天真的以為找到了規律。殊不知我們找的規律已經超過了題目所給的範圍。一開始隊友手快用stl的deque寫完交,超時,我玄學優化交後發現記憶體超限。關於stl,要學習的還有很多很多,我們覺得用起來很方便,全都封裝好了,...