4 3聽課筆記(dp篇)

2022-09-03 16:00:17 字數 785 閱讀 5385

陳鋒老師講的要點:

1.搞競賽不是為了刷題,是為了提公升你的思維方法以及能力;

2.刷題的正確方法是合上書,過乙個星期,這個題目還能寫出來,並且看看周圍同學的**,有沒有更快的,讓自己的**變得更快更好。

3.dp分為遞推和記憶化,但是記憶化較優,有些問題只能使用記憶化,而不能夠使用遞推,因此可以看看記憶化(如數字dp)

4.在處理很多陣列的問題的時候,一定要學會用引用變數,如:

int &d=d[i][j];

這個樣子可以方便改變d這個變數。

5.在dp使用vis[i][j]陣列的時候,開bool變數有助於節省空間。(bitset<500>這樣的也能當陣列用,且它比int小32倍,更小)

6.在dp中要記錄路徑時,可以建立乙個vector&path,每次push_back乙個路徑。

7.工作中不要開全域性變數:如果是多執行緒的程式的話,有可能你這個全域性變數同時被兩個函式在改變,這樣你這個全域性變數的狀態就是亂的,所以不要開全域性變數(然而本蒟蒻看到很多競賽dalao都在用全域性變數qaq)

8.memset是按位元組賦值的,因此memset不如fill_n來的快。

9.dp有填表法以及刷表法。前一種是「對每個狀態i,找到f(i)依賴的所有狀態」,但是這種在有些狀況下並不方便。另一種則是「對每個狀態i,更新f(i)所影響到的每個狀態」。

10.在查錯的時候,可以為了保護程式,增加一條類似下面的**:

assert(0

<=h&&h<3);

這個樣子,如果你的h超出這個範圍,那麼你的程式就會崩掉。

2019 03 12聽課筆記

二 考核細節 1.不簽到或者不按時回帖0分,請假給2分,少截圖或者截圖不合格的,每張截圖2分。2.沒有按時回帖筆記的0分,回帖筆記的,根據筆記內容質量給分,滿分10分.4.每週檢測,滿分10分,四捨五入。五 運維巨集觀介紹 1.運維是什麼?小企業與大企業的區別 產品經理 設計產品 研發 前段 後台 ...

2021 3 4聽課筆記

define crt secure no warnings 1 include int main 迴圈語句 int main if line 20000 printf 好offer n return 0 函式概念 int add int x,int y 函式體 int main 陣列概念 陣列的定義...

04 聽課筆記

通常用於確定的迴圈次數 和 c 語言不同 次數不知道迴圈幾次,迴圈次數不確定用 while 迴圈次數會根據條件會有變化 break range 1 10 continue 當執行到 contine 終止在這一次在它後面執行的程式,不在它塊內與它平級的後面的都不會執行 第一層迴圈控制行數 第二次迴圈控...