OJ 上的一些水题(可用来练手和增加自信)
(poj1003,poj1004,poj1005,poj1207,poj3299,poj2159,poj2739,poj1083,poj2262,poj3006,p
oj2255,poj3094)
初级:
一.基本算法:
(1)枚举. (poj1018,poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295,poj3239)
(6.1)模拟法.(poj1008,poj1068,poj2632,poj1573,poj2993,poj2996,poj3087)
(6.2)模拟法(高精度算法)(poj1001,poj1503,poj2389,poj2602,poj3982,21
位大数的水
仙花数)
二.图算法:
(1)图的深度优先遍历和广度优先遍历.
(2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra)
(poj1860,poj3259,poj1062,poj2253,poj1125,poj2240)
(3)最小生成树算法(prim,kruskal)
(poj1789,poj2485,poj1258,poj3026)
(4)拓扑排序 (poj1094)
(5)二分图的最大匹配 (匈牙利算法) (poj3041,poj3020)
(6)最大流的增广路算法(压入重标法,KM 算法). (poj1459,poj3436)
三.数据结构. (1)串 (poj1016,poj1035,poj3080,poj1936)
(2)排序(快排、归并排(与逆序数有关)、堆排) (poj1007,poj2388,poj1804,poj2299)
(3)简单并查集的应用.
(4)哈希表和二分查找等高效查找法(数的 Hash,串的 Hash)
(poj1002,poj3349,poj3274,poj1840,poj2002,poj3432,poj2503)
(5)优先队列(poj3253)
(6)堆
(7)trie 树(静态建树、动态建树) (poj2513)
四.简单搜索
(1)深度优先搜索 (poj2488,poj3083,poj3009,poj1321)
(2)广度优先搜索(poj3278,poj1426,poj3126,poj3414,poj2251)
(3)简单搜索技巧和剪枝(poj1010,poj2362,poj1011,poj1416,poj2676,poj1129)
五.动态规划 (1)背包问题. (poj1837,poj1276,poj1014)
(2)型如下表的简单 DP(可参考 lrj 的书 page149):
1.E[j]=opt{D+w(i,j)} (poj3267,poj1836,poj1260,poj2533)
2.E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列)
(poj1015,poj3176,poj1163,poj1080,poj1159)
3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题)
六.数学