2月5日,在福州正式培訓。
早上講專題,下午測試,排進前十(0分的實在太多了,並列的也就多了),完美爆0!
初次體會出差的感受,今天是有史以來第一天。
這十多個小時已經明白的告訴我們接下來的日子將要多麼努力,這幾天是多麼重要。
劉老師說:「現在的辛苦換來高中的輕鬆。」
所以我會期待,我會準備,我會執行。
咳咳,切入正題:
先來說說列舉吧:
列舉:1.保證最優解和或全部的可行解都被列舉到
2.列舉量不能過大
3.沒有三
了,可能是我的手速跟不上老師的速度,emmm,剩下只能自己參考黑皮書了
來例題!
no.1 01矩形
大意:有0和1組成的矩形,從中找到內部都為1的最大矩形,嗯哼,就這樣。
1.列舉矩形左上角和有下角,再進行掃瞄 時間複雜度0(n的4次方)因為不會打平方所以就用文字了,請見諒
2.列舉矩形上下兩邊,掃瞄內部每列(假設是c[i])是否為1 時間複雜度0(n的三次方) 也就是0(n的二次方)*0(n)
優化了耶!
no.2 魔法陣
emmm莫名的不想說題目
就是有很多(n)個禮物呀,不過不是給我的嘛,這些禮物都有自己的魔法值,要在這些禮物中找到禮物a,b,c,d魔法值為xa,xb,xc,xd滿足
1.xa2.2(xd-xc)=xb-xa
問有多少組?
配個圖:
由題可知i=n/9
設t[xa]為2i的選擇個數
r[k]為在xc>=k後i的選擇個數(1.xc>=k 2.xd-xc=i)
t[xa]*r[xb+6i+1]:確定xb,xa有t[xa]種選擇(1.xd-xc=i 2.xc>=xb+6i+1)xc,xd 有r[xb+6i+1]對
**,我就不打了,來的打,問題是我熬夜,好睏啊!!!
遞迴回溯:
1.判斷當前是否為所要的狀態,根據所需進行處理或回退
2.在當前狀態上列舉所有合法方向,取某乙個嘗試方向,沒有則退出
3.等等
例題:有且只有一題
二十四點;
上圖:
前序:/+5 6 - 3 2
後序:5 6 + 3 2 - /
接下來的基本沒太懂,so,就不寫了,很晚了,晚安!
回溯法遵循深度優先嗎 深度優先搜尋(回溯法)
事實上,深度優先搜尋屬於圖演算法的一種,英文縮寫為dfs即depth first search.其過程簡要來說是對每乙個可能的分支路徑深入到不能再深入為止,而且每個節點只能訪問一次.舉例說明之 下圖是乙個無向圖,如果我們從a點發起深度優先搜尋 以下的訪問次序並不是唯一的,第二個點既可以是b也可以是c...
深度優先遍歷 回溯 79 單詞搜尋
題目描述 給定乙個二維網格和乙個單詞,找出該單詞是否存在於網格中。單詞必須按照字母順序,通過相鄰的單元格內的字母構成,其中 相鄰 單元格是那些水平相鄰或垂直相鄰的單元格。同乙個單元格內的字母不允許被重複使用。示例 board a b c e s f c s a d e e 給定 word abcce...
深度優先搜尋之深度體驗
迷宮有n行m列的單元格組成 n和m都小於等於50 每個單元格內要麼是空地,要麼是障礙物。找到一條從迷宮的起點通往迷宮內任意一點的最短路徑。注意 障礙物是不能走的,也不能走到迷宮之外。include include int n,m,p,q,len,min 99999999 int a 51 51 bo...