北大ACM - POJ试题分类

 

—— By EXP 2017-12-03

 


相关推荐文: 
旧版POJ分类目录: http://exp-blog.com/2018/06/10/pid-136/ 
ACM绝版资源公开( 参考书、模板、讲义、指导): http://exp-blog.com/2018/07/11/pid-1777/ 
ACM国家集训队论文集(1999-2009): http://exp-blog.com/2018/07/12/pid-1809/ 
ACM测试数据合集: http://exp-blog.com/2018/06/28/pid-1362/ 
一位ACMer过来人的心得: http://exp-blog.com/2018/06/13/pid-113/


POJ-1003 POJ-1004 POJ-1005 POJ-1207 POJ-3299 POJ-2159 POJ-1083 POJ-3094

POJ-1753 POJ-2965贪心 POJ-1328 POJ-2586 递归和分治法 - 递推 - 构造法 POJ-3295 POJ-3239 模拟法 POJ-1008 POJ-1068 POJ-2632 POJ-1573 POJ-2993 POJ-2996 POJ-3087 高精度算法 21位大数的水仙花数 
POJ-1001 POJ-1503 POJ-2109 POJ-2389 POJ-2602 POJ-3982

2.2. 图算法

-

图遍历(前序序列、中序序列、后序序列)

POJ-2255

最短路径算法

(dijkstra, bellman-ford, floyd, heap+dijkstra)

POJ-1860 POJ-3259 POJ-1062 POJ-2253 POJ-1125 POJ-2240

最小生成树算法(prim, kruskal)

POJ-1789 POJ-2485 POJ-1258 POJ-3026

拓扑排序

POJ-1094

二分图的最大匹配 (匈牙利算法)

POJ-3041 POJ-3020

最大流的增广路算法(压入重标法、KM算法)

POJ-1459 POJ-3436


2.3. 数据结构

-


POJ-1016 POJ-1035 POJ-3080 POJ-1936

排序(快排、归并排、堆排)

POJ-1007 POJ-2388 POJ-1804 POJ-2299

并查集

-

高效查找法

(数的Hash、串的Hash、二分查找)

POJ-1002 POJ-3349 POJ-3274 POJ-1840 POJ-2002 POJ-3432 POJ-2503

哈夫曼树、优先队列

POJ-3253


-

trie树(静态建树、动态建树)

POJ-2513


2.4. 搜索

-

深度优先搜索DFS

POJ-2488 POJ-3083 POJ-3009 POJ-1321

广度优先搜索BFS

POJ-3278 POJ-1426 POJ-3126 POJ-3414 POJ-2251

简单搜索技巧和剪枝

POJ-1010 POJ-2362 POJ-1011 POJ-1416 POJ-2676 POJ-1129


2.5. 动态规划

-

-

背包问题

-

POJ-1837 POJ-1276 POJ-1014

DP(动态规划)

可参考《刘汝佳:算法法艺术与信息学竞赛》

(黑书一)page 149

E[j] = opt{D+w(i,j)}

POJ-1018 POJ-3267 POJ-1836 POJ-1260 POJ-2533

 

最长公共子序列

E[i,j] = opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij}

POJ-1015 POJ-3176 POJ-1163 POJ-1080 POJ-1159

 

最优二分检索树问题

C[i,j] = w[i,j]+opt{C[i,k-1]+C[k,j]}

 


2.6. 数学

-

-

组合数学

加法原理和乘法原理

 

 

排列组合

 

 

递推关系

POJ-1012 POJ-3252 POJ-1850 POJ-1496 POJ-1019 POJ-1942

 

逻辑推理

POJ-1013 POJ-1017

数论

素数与整除问题

POJ-2739 POJ-2262 POJ-3006

 

进制位

 

 

同余模运算

POJ-2305 POJ-2635 POJ-3292 POJ-1845 POJ-2115

 

中国余数定理

(扩展欧几里德、辗转相除法)

POJ-1006

计算方法

二分法求解单调函数

POJ-3273 POJ-3258 POJ-1905 POJ-3122

 

随机化算法

POJ-2531

 

概率

POJ-2151


2.7. 计算几何学

-

几何公式

 

叉积和点积的运用

(如线段相交的判定、点到线段的距离等)

POJ-2031 POJ-1039

多边型的简单算法(求面积) 和 

相关判定(点在多边型内、多边型是否相交)

POJ-1408 POJ-1584

凸包

POJ-1696 POJ-2187 POJ-1113


POJ-3096 POJ-3007较为复杂的模拟题的训练 POJ-3393 POJ-1472 POJ-3371 POJ-1027 POJ-2706 POJ-1009

3.2. 图算法

-

差分约束系统的建立和求解

POJ-1716 POJ-1201 POJ-2983

最小费用最大流

POJ-2516 POJ-2195

双连通分量

POJ-2942

强连通分支及其缩点

POJ-2186

图的割边和割点

POJ-1523 POJ-3352 POJ-3177

最小割模型、网络流规约

POJ-3308


3.3. 数据结构

-

线段树

POJ-2528 POJ-2828 POJ-2777 POJ-2886 POJ-2750

静态二叉检索树

POJ-2482 POJ-2352

树状树组

POJ-1195 POJ-3321

RMQ

POJ-3264 POJ-3368

并查集

POJ-1703 POJ-2492

KMP算法

POJ-1961 POJ-2406


3.4. 搜索

-

最优化剪枝和可行性剪枝

 

搜索的技巧和优化

POJ-1020 POJ-3411 POJ-1724

记忆化搜索

POJ-3373 POJ-1691

搜索与状态压缩

POJ-1184


3.5. 动态规划

-

较复杂的动态规划

(如特别的旅行商问题等)

POJ-1191 POJ-1054 POJ-3280 POJ-2029 POJ-2948 POJ-1925 POJ-3034

记录状态的动态规划

POJ-3254 POJ-2411 POJ-1185

树型动态规划

POJ-2057 POJ-1947 POJ-2486 POJ-3140


3.6. 数学

-

-

组合数学

容斥原理

 

 

抽屉原理

 

 

置换群与Polya定理

POJ-1286 POJ-2409 POJ-3270 POJ-1026

 

递推关系和母函数

 

数论

高斯消元法

POJ-2947 POJ-1487 POJ-2065 POJ-1166 POJ-1222

 

概率问题

POJ-3071 POJ-3440

 

GCD(最大公约数)

LCM(最小公倍数)

POJ-3101

 

中国余数定理

(扩展欧几里德、辗转相除法)

 

计算方法

0/1分数规划

POJ-2976

 

三分法求解单峰/单谷的极值

 

 

矩阵法

POJ-3150 POJ-3422 POJ-3070

 

迭代逼近

POJ-3301

随机化算法

 

POJ-3318 POJ-2454

杂题

 

POJ-1870 POJ-3296 POJ-3286 POJ-1095


3.7. 计算几何学

-

坐标离散化

 

扫描线算法

(如求矩形的面积和周长,常和线段树或堆一起使用)

POJ-1765 POJ-1177 POJ-1151 POJ-3277 POJ-2280 POJ-3004

多边形的内核(半平面交)

POJ-3130 POJ-3335

几何工具的综合应用

POJ-1819 POJ-1066 POJ-2043 POJ-3227 POJ-2165 POJ-3429


POJ-2525 POJ-1684 POJ-1421 POJ-1048 POJ-2050 POJ-3306保证正确性和高效性 POJ-3434

4.2. 图算法

-

度限制最小生成树 和 第K最短路

POJ-1639

最短路、最小生成树、二分图、最大流问题的相关理论

(主要是模型建立和求解)

POJ-3155 POJ-2112 POJ-1966 POJ-3281 POJ-1087 POJ-2289 POJ-3216 POJ-2446

最优比率生成树

POJ-2728

最小树形图

POJ-3164

次小生成树

 

无向图、有向图的最小环

 


4.3. 数据结构

-

trie图的建立和应用

POJ-2778

LCA和RMQ问题:

LCA(最近公共祖先问题)

离线算法(并查集+dfs)

在线算法(RMQ+dfs)

POJ-1330

双端队列和应用

(维护一个单调的队列,常在动态规划中起到优化状态转移的目的)

POJ-2823

左偏树(可合并堆)

 

后缀树

POJ-3415 POJ-3294


4.4. 搜索

-

较麻烦的搜索题目训练

POJ-1069 POJ-3322 POJ-1475 POJ-1924 POJ-2049 POJ-3426

广搜优化

(利用M进制数存储状态、转化为串用hash表判重、按位压缩存储状态、双向广搜、A*算法)(RMQ+dfs)

POJ-1768 POJ-1184 POJ-1872 POJ-1324 POJ-2046 POJ-1482

深搜优化

(尽量用位运算、一定要加剪枝、函数参数尽可能少、层数不易过大、可以考虑双向搜索或者是轮换搜索、IDA*算法)

POJ-3131 POJ-2870 POJ-2286


4.5. 动态规划

-

需要用数据结构优化的动态规划

POJ-2754 POJ-3378 POJ-3017

四边形不等式理论

 

较难的状态DP

POJ-3133


4.6. 数学

-

-

组合数学

MoBius反演

POJ-2888 POJ-2154

 

偏序关系理论

 

计算方法

极大极小过程

POJ-3317 POJ-1085

 

Nim问题

 


4.7. 计算几何学

-

半平面求交

POJ-3384 POJ-2540

可视图的建立

POJ-2966

点集最小圆覆盖

 

对踵点

POJ-2079


4.8. 综合题

POJ-3109 POJ-1478 POJ-1462 POJ-2729 POJ-2048 POJ-3336 POJ-3315 POJ-2148 POJ-1263