1、数论
大概有素数测试(筛法),扩展欧几里得算法,同余模运算,高斯消元,中国剩余定理,莫比乌斯反演等等。
同余模运算:poj2635, poj3292,poj1845,poj2115
素数测试与筛法:poj2191,poj1811
高斯消元:poj1681,poj1222
扩展欧几里得算法:poj2891,poj1061
中国剩余定理:poj1006,zoj3538
莫比乌斯反演:poj2154
2、图论
最短路,最小生成树,拓扑排序,二分图,最大流,强连通分量,最近公共祖先,次小生成树,欧拉回路,哈密顿回路等等。
图论理论深,实现又麻烦,不好啃。
推荐题目:
最小费用最大流(poj2516,poj2516,poj2195)
双连通分量(poj2942)
强连通分支及其缩点.(poj2186)
图的割边和割点(poj3352)
最小割模型、网络流规约(poj3308, )
3背包问题
背包问题:hdu2602、poj3624、hdu2546、hdu2955、poj2184、hdu2639
5、搜索
dfs、bfs。
前期搜索相对容易入门,后期那些搜索的难题真是难啊。。
推荐题目:
dfs:poj1724、hrbustoj1179、hdu1312、sdut2152、hdu1426、poj2386、hdu2553、hdu1022、hdu1241、hdu1016、hdu1010、hdu1175
bfs:poj3984、poj3278、hdu1242、hdu1240、hdu1195、hdu2717、hdu1253、hdu1026、hdu1180、hdu2612
8、数据结构
串处理、栈和队列、树、哈希、二分查找、并查集、线段树、二维线段树、后缀数组等等。
数据结构内容比较杂,涉及的又都是基础的知识,其中的很多思想都可以用在其他题目上,一定要学好。
这里把它作为一个方向,是为了它到了后期的一些高级的数据结构,例如字典树、划分树、线段树、AC自动机等等。
推荐题目:
查找(二分、哈希):poj3349、poj1002、hdu2141、hdu1025
串(AC自动机、KMP):hdu3695、hdu2203、sdut2411、poj2406、hdu1358、hdu3336
并查集:poj2236、poj2524、poj1182、poj1611、hdu1232
字典树:poj2503、poj2001、hdu1247、hdu1075、hdu1251
树状数组:hdu1556、poj1195、poj3321、hdu1541/poj2352
线段树:poj2155、poj1195、poj3468、poj3264、hdu1556、hdu1698、hdu1754、hdu1166
划分树:poj2104、sdut2610
9、模拟
模拟主要实现麻烦,思路往往不难。只要耐心点,注意细节,多斟酌斟酌,就没问题。
hdu1030、hdu1033、hdu1035、hdu1057、hdu1063、hdu1002、hdu1004、hdu1013、hdu1015、hdu1017、hdu1020、hdu1022、hdu1029、hdu1031、hdu1033、hdu1034、hdu1035、hdu1036、hdu1037、hdu1039、hdu1042、hdu1047、hdu1048、hdu1049、hdu1050、hdu1057、hdu1062