從數據結構到算法

一、認證 比賽 題解

認證 比賽 題解

二、數據結構

鏈表

鏈表反轉
倒數第k個節點
鏈表相加
合併有序鏈表
平移鏈表
刪除鏈表的節點
環形鏈表

棧的實現
51Nod_1289 大魚喫小魚
棧與隊列的相互實現
棧 | 最小棧【單調棧】
POJ3250 Bad Hair Day【單調棧】
POJ2559 Largest Rectangle in a Histogram【單調棧】
POJ2796 Feel Good【單調棧+前綴和 非負區間最小值乘區間和】
POJ3494 Largest Submatrix of All 1’s【單調棧 01矩陣中最大的1矩形】
POJ1964 City Game【單調棧 01矩陣中最大的1矩形】
I、Max answer【單調棧+前綴和+RMQ】
51Nod_1279 扔盤子

隊列

隊列的實現
棧與隊列的相互實現
POJ2823 Sliding Window【單調隊列】

二叉樹

二叉樹的前序/中序/後序遍歷的非遞歸實現
二叉樹的層次遍歷
二叉樹的深度
判斷二叉樹是否相同
對稱二叉樹
建立二叉樹
從根到葉節點
翻轉二叉樹
最近公共祖先 LCA

二叉搜索樹

二叉查找樹
驗證二叉搜索樹
二叉搜索樹中第K小的元素
二叉搜索樹的查找操作
二叉搜索樹的刪除操作
二叉搜索樹的插入操作
二叉搜索樹結點最小距離

AVL樹

AVL樹的實現

並查集

並查集
POJ2253 Frogger【並查集+貪心】
POJ1308 Is It A Tree?【並查集】
HDU1272 小希的迷宮【並查集】
HDU4496 D-City【並查集】
HDU3047 Zjnu Stadium【種類並查集】
POJ2492 A Bug’s Life【種類並查集】
POJ1703 Find them, Catch them【種類並查集】
POJ1733 Parity game【離散化+帶權並查集 區間統計】
HDU3635 Dragon Balls【帶權並查集 統計】
POJ1988 Cube Stacking【帶權並查集 統計】
POJ1182 食物鏈【種類並查集】
HDU3038 How Many Answers Are Wrong【帶權並查集 區間統計】
HDU1213 How Many Tables【並查集】
POJ2236 Wireless Network【並查集】
POJ1611 The Suspects【並查集】
CCF201703-4 地鐵修建
POJ1797 Heavy Transportation【並查集+貪心】
L2-013 紅色警報【並查集】

字典樹

字典樹
HDU5536 Chip Factory【01字典樹】
HDU4825 Xor Sum【01字典樹】
POJ2503 Babelfish【映射】
POJ2001 Shortest Prefixes【字典樹】
HDU5687 Problem C【字典樹】
POJ1056 IMMEDIATE DECODABILITY【字典樹】
codevs 4189 字典【字典樹】
HDU1251 統計難題 【字典樹】
BZOJ4260 Codechef REBXOR【01字典樹】

樹狀數組

樹狀數組
求區間不同數的個數【樹狀數組求解】
HDU1166 敵兵佈陣【樹狀數組 單點修改+區間查詢】

線段樹

線段樹從零開始
線段樹詳解 (原理,實現與應用)
線段樹經典題目(一定要做完)
數列求和【線段樹基礎】
HDU1166 敵兵佈陣【線段樹基礎:點修改+區間查詢】
HDU1754 I Hate It 【線段樹基礎:點修改+區間查詢】
HDU1698 Just a Hook【線段樹基礎:區間修改+區間查詢】
ACM-ICPC 2017 南寧賽區網絡預賽 F Overlapping Rectangles 【線段樹之掃描線用法】
HDU1394 Minimum Inversion Number【線段樹 點修改+區間查詢】
POJ2828 Buy Tickets【線段樹 點修改+區間查詢】
POJ2886 Who Gets the Most Candies?【線段樹 點修改】
POJ2528 Mayor’s posters【離散化+線段樹區間修改】
POJ3468 A Simple Problem with Integers【線段樹 區間修改+區間求和】
POJ2777 Count Color【線段樹 區間覆蓋】
HDU1542 Atlantis【線段樹+掃描線+離散化】
POJ3667 Hotel【線段樹 區間合併+區間覆蓋】
UVA1400 Ray, Pass me the dishes!" 【線段樹 區間合併】
HDU2795 Billboard【線段樹 點修改+區間查詢】
2017ACM/ICPC廣西邀請賽 CS Course
ACM-ICPC 2018 徐州賽區網絡預賽 H. Ryuji doesn’t want to study 【線段樹】
ACM-ICPC 2018 南京賽區網絡預賽 __G Lpl and Energy-saving Lamps【線段樹+模擬】
HDU3308 LCIS【線段樹 區間合併】

主席樹

主席樹
HDU2665 Kth number【主席樹】
HDU4417 Super Mario【主席樹】
求區間不同數的個數【主席樹求解】
CCPC2018-湖南全國邀請賽 HDU6278 Just h-index【主席樹+二分查找】

樹鏈剖分

樹鏈剖分
P3384 【模板】樹鏈剖分

二叉堆的實現
左傾堆的實現
斜堆的實現

圖論

最小生成樹
次小生成樹
最短路徑
差分約束
歐拉路徑和歐拉回路
拓撲排序
二分圖
網絡流
分層圖
有向圖強連通分支
無向連通圖求割點和橋
無向連通圖點雙連通分量
無向連通圖邊雙連通分量
構造雙連通圖

三、算法

算法分析

時間複雜度的五個記號
級數求和
循環操作的複雜度
遞歸跟蹤
遞推方程

查找和排序

查找算法
排序算法

搜索

搜索

字符串

字符串

動態規劃

動態規劃

貪心法

貪心法

數論

數論

矩陣

矩陣計算

其他

逆序數
博弈論
高精度
位運算
狀態壓縮
尺取法
進制與分數
RMQ
計算幾何
組合數學

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章