【407訓練】第一週總結

學到的知識以及對應題目:算法

基礎:數組

1. 雙關鍵字快排 (Quick Sort) 網絡

commando_war.cpp UVa11729數據結構

final_standings Ural1100ide

2. factorial.cpp (白書)函數

3. 指針實現區間和 (白書)優化

 

數據結構:ui

1. 棧 (Stack)spa

rails.cpp UVa514指針

2. 鄰接表 + 廣搜求最短路(不加權)(BFS)

BFS.cpp

3. 優先隊列 (Priority Queue)

argus.cpp LA3135 (自定義優先級)

*sequence_median.cpp Ural1306 (看似能夠用pq但會超內存)

4. 基本動態數據結構 vector, map etc

easy_problem_from_lrj.cpp UVa11991(使用map)

I_can_guess_the_data_structure.cpp UVa11995 (數據結構綜合)

5. 鏈表 (Linked List)

6378.cpp OpenJudge (刪除鏈表元素)

Beiju.cpp UVa11988 (插入鏈表元素)

cipher_message.cpp Ural1654 (Avoid the extra blankspace!)

6. 堆的操做 (Heap/ Heap Sort)

heap_sort(算法導論版).cpp (手寫堆實現排序)

sequence_median (heap+array)AC.cpp (STL堆找中位數)

7. 樹的遍歷

tree.cpp

8.並查集

union_find.cpp

9. 拓撲排序

topo_sort (dfs).cpp

topo_sort (Kahn).cpp

10. 最小生成樹 Kruskal Algo

11. *哈希表

12. **鏈式前向星

13. *線段樹

*lazy tag

14. 樹狀數組 Fenwick Tree

stars.cpp Ural1028 (Fenwick tree)

place.cpp COCI 2011/2012 contest 3 (Fenwick tree)

 

 

 

 

算法思想:

1. 分治法 (Divide and Conquer)

binary_search(迭代).cpp

binary_search(遞歸).cpp

(二分查找)

merge_sort.cpp

brainman.cpp POJ1804 

(歸併排序)

2. 動態規劃

LCS.cpp

 

 

初等數論 (Number Theory)

1. 求證:1^2 + 2^2 +3^2 + ... + n^2

2. 歐幾里德定理

除法表達式.cpp TZC1537

和*擴展歐幾里德定理

3. *費馬小定理

4. *歐拉定理

5. *線性代數 (Linear Algebra)

6. **快速冪

快速冪.cpp

7. *埃氏篩選法

埃氏篩法求素數.cpp

 

//注:程序裏的remarks爲所用知識點的英文 首字母小寫以空格隔開

 

其它雜題:

1. feed_accounting.cpp OpenJudge (adhoc)

2. jolly_jumpers.cpp OpenJudge (adhoc)

3. teX.cpp OpenJudge (adhoc, 字符讀入技巧 )

4. dragon_of_loowater.cpp UVa11292 (quick sort)

5. graph.cpp (逗人的題)

 

Still WA:

1. 逆波蘭表達式.cpp Open Judge (stack)

2. 徹底因子.cpp 白書 (艾氏篩法) (Day 9)

3. chess.cpp Aqua (Day 10)

4. escape.cpp Aqua (Day 10)

5. 距離.cpp Vjos (Day 15) 

 

多校集訓:

Day 1: 樹套樹,可持久化數據結構

Day 2: 計算幾何、立體計算幾何,對抗搜索

Day 3: 動態數據結構,樹分治、網絡流

Day 4: 後綴自動機、單純型,AC自動機

Day 5: 樹分治,網絡流

Day 6: 置換羣、高斯消元、函數變換、博弈論,擬陣、線性基

Day 7: 空間計數

Day 8: 機率dp、插頭dp、若干奇奇怪怪的優化

Key:

 *:不會實現

**:不懂

相關文章
相關標籤/搜索