1.以下转自http://blog.csdn.net/very_2/article/details/5733577
3299,2159,2739,1083,2262,1503,3006,2255,3094
一、基本算法:
(1)枚举 (1753,2965)
(2)贪心(1328,2109,2586)
(3)递归和分治法
(4)递推
(5)构造法(3295)
(6)模拟法(1068,2632,1573,2993,2996)
二、图算法:
(1)图的深度优先遍历和广度优先遍历
(2)最短路径算法(dijkstra,bellman-ford,floyd,heap+dijkstra)(1860,3259,1062,2253,1125,2240)
(3)最小生成树算法(prim,kruskal)(1789,2485,1258,3026)
(4)拓扑排序 (1094)
(5)二分图的最大匹配 (匈牙利算法) (3041,3020)
(6)最大流的增广路算法(KM算法) (1459,3436)
三、数据结构
(1)串 (1035,3080,1936)
(2)排序(快排、归并排(与逆序数有关)、堆排)(2388,2299)
(3)简单并查集的应用
(4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)(3349,3274,2151,1840,2002,2503)
(5)哈夫曼树(3253)
(6)堆
(7)trie树(静态建树、动态建树) (2513)
四、简单搜索
(1)深度优先搜索 (2488,3083,3009,1321,2251)
(2)广度优先搜索(3278,1426,3126,30873414)
(3)简单搜索技巧和剪枝(2531,1416,2676,1129)
五、动态规划
(1)背包问题 (1837,1276)
(2)型如下表的简单DP(可参考lrj的书 page149):
1、E[j]=opt{D+w(i,j)} (3267,1836,1260,2533)
2、E[i,j]=opt{D[i-1,j]+xi,D[i,j-1]+yj,D[i-1][j-1]+zij} (最长公共子序列)(3176,1080,1159)
3、C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}(最优二分检索树问题)
六、数学
(1)组合数学:
1、加法原理和乘法原理
2、排列组合
3、递推关系(3252,1850,1019,1942)
(2)数论
1、素数与整除问题
2、进制位
3、同余模运算(2635, 3292,1845,2115)
(3)计算方法
二分法求解单调函数相关知识(3273,3258,1905,3122)
七、计算几何学
(1)几何公式
(2)叉积和点积的运用(如线段相交的判定,点到线段的距离等) (2031,1039)
(3)多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)(1408,1584)
(4)凸包 (2187,1113)
一、基本算法:
(1)C++的标准模版库的应用 (3096,3007)
(2)较为复杂的模拟题的训练(3393,1472,3371,1027,2706)
二、图算法:
(1)差分约束系统的建立和求解 (1201,2983)
(2)最小费用最大流(2516,2195)
(3)双连通分量(2942)
(4)强连通分支及其缩点(2186)
(5)图的割边和割点(3352)
(6)最小割模型、网络流规约(3308, )
三、数据结构
(1)线段树 (2528,2828,2777,2886,2750)
(2)静态二叉检索树 (2482,2352)
(3)树状树组(1195,3321)
(4)RMQ (3264,3368)
(5)并查集的高级应用 (1703,2492)
(6)KMP算法 (1961,2406)
四、搜索
(1)最优化剪枝和可行性剪枝
(2)搜索的技巧和优化 (3411,1724)
(3)记忆化搜索(3373,1691)
五、动态规划
(1)较为复杂的动态规划(如动态规划解特别的施行商问题等)(1191,1054,3280,2029,2948,1925,3034)
(2)记录状态的动态规划 (3254,2411,1185)
(3)树型动态规划(2057,1947,2486,3140)
六、数学
(1)组合数学:
1、容斥原理
2、抽屉原理
3、置换群与Polya定理(1286,2409,3270,1026)
4、递推关系和母函数
(2)数学
1、高斯消元法(2947,1487, 2065,1166,1222)
2、概率问题 (3071,3440)
3、GCD、扩展的欧几里德(中国剩余定理) (3101)
(3)计算方法
1、分数规划 (2976)
2、三分法求解单峰(单谷)的极值
3、矩阵法(3150,3422,3070)
4、迭代逼近(3301)
(4)随机化算法(3318,2454)
(5)杂题(1870,3296,3286,1095)
七、计算几何学
(1)坐标离散化
(2)扫描线算法(例如求矩形的面积和周长并,常和线段树或堆一起使用)(1765,1177,1151,3277,2280,3004)
(3)多边形的内核(半平面交)(3130,3335)
(4)几何工具的综合应用(1819,1066,2043,3227,2165,3429)
一、基本算法要求:
(1)代码快速写成,精简但不失风格(2525,1684,1421,1048,2050,3306)
(2)保证正确性和高效性 (3434)
二、图算法:
(1)度限制最小生成树和第K最短路 (1639)
(2)最短路,最小生成树,二分图,最大流问题的相关理论(主要是模型建立和求解)(3155, 2112,1966,3281,1087,2289,3216,2446
(3)最优比率生成树 (2728)
(4)最小树形图(3164)
(5)次小生成树
(6)无向图、有向图的最小环
三、数据结构
(1)trie图的建立和应用 (2778)
(2)LCA和RMQ问题(LCA(最近公共祖先问题) 有离线算法(并查集+dfs) 和 在线算法(RMQ+dfs))(1330)
(3)双端队列和它的应用(维护一个单调的队列,常常在动态规划中起到优化状态转移的目的) (2823)
(4)左偏树(可合并堆)
(5)后缀树(非常有用的数据结构,也是赛区考题的热点)(3415,3294)
四、搜索
(1)较麻烦的搜索题目训练(1069,3322,1475,1924,2049,3426)
(2)广搜的状态优化:利用M进制数存储状态、转化为串用hash表判重、按位压缩存储状态、双向广搜、A*算法 (1768,1184,1872,1324,2046,1482)
(3)深搜的优化:尽量用位运算、一定要加剪枝、函数参数尽可能少、层数不易过大、可以考虑双向搜索或者是轮换搜索、IDA*算法 (3131,2870,2286)
五、动态规划
(1)需要用数据结构优化的动态规划 (2754,3378,3017)
(2)四边形不等式理论
(3)较难的状态DP(3133)
六、数学
(1)组合数学
1、MoBius反演(2888,2154)
2、偏序关系理论
(2)博奕论
1、极大极小过程(3317,1085)
2、Nim问题
七计算几何学
(1)半平面求交(3384,2540)
(2)可视图的建立(2966)
(3)点集最小圆覆盖
(4)对踵点(2079)
八、综合题
(3109,1478,1462,2729,2048,3336,3315,2148,1263)
以下转自:
http://blog.myspace.cn/e/400714135.htm
DP:
1011 NTA 简单题
1013 Great Equipment 简单题
1024 Calendar Game 简单题
1027 Human Gene Functions 简单题
1037 Gridland 简单题
1052 Algernon s Noxious Emissions 简单题
1409 Communication System 简单题,但是很容易看错~~~
1425 Crossed Matchings 简单题
1438 Asteroids! 简单题
1459 String Distance and Transform Process 简单题
1462 Team Them Up! 简单题
1556 Heroes Of Might And Magic 简单题,不过背景蛮有意思的……
1520 Duty Free Shop 简单题
1524 Supermarket 简单题
1301 The New Villa 简单题
1303 Jury Compromise 其实不是很难,但是很容易错,555……
1345 Best Deal 简单题,但是也很容易错……555……
1360 Radar Installation 简单题
1396 The Umbrella Problem: 2054 简单题
1058 Currency Exchange 简单题
1076 Gene Assembly 简单题
1092 Arbitrage 简单题
1093 Monkey and Banana 简单题
1094 Matrix Chain Multiplication 简单题
1536 Labyrinth 简单题
1100 Mondriaan s Dream 简单题,DP可以过,不过据说有复杂的组合公式
1103 Hike on a Graph 简单题
1134 Strategic Game 简单题
1147 Formatting Text 简单题
1148 The Game 简单题
1161 Gone Fishing 简单题
1180 Self Numbers 简单题
1192 It s not a Bug, It s a Feature! 简单题
1196 Fast Food 简单题
1107 FatMouse and Cheese 简单题,不过题目描述有些混乱
1136 Multiple 简单题,BFS
1276 Optimal Array Multiplication Sequence 简单题
1255 The Path 简单题
1250 Always On the Run 简单题
1213 Lumber Cutting 简单题
1206 Win the Bonus 简单题
1479 Dweep 无聊题
1587 UP 100 无聊题,DP应该可以……但是太烦了……没做……
1066 Square Ice 无聊题,目前已知的O(nlogn)算法要用***L……您有没有简单点的O(nlogn)的算法?
1245 Triangles 无聊题
1022 Parallel Expectations 经典题,想了n久,最后发现可以DP,相当好的一道题
1499 Increasing Sequences 经典题{}
1039 Number Game 没有完美解决的题,感觉可以直接以所有剩下的数作为状态DP,但是缺乏证明……
1227 Free Candies SRbGa的经典题,我看了oibh上的解题报告才做出来的……:(
1234 Chopsticks SRbGa的经典题……
图论:
1525 Air Raid 简单题,最小路径覆盖
1500 Pre-Post-erous! 简单题
1501 Knockout Tournament 简单题
1508 Intervals 对您来说应该是简单题,但我想了n久……:(,差分限制系统
1333 Galactic Import 简单题
1304 Tin Cutter 简单题,但是似乎有空间复杂度为O(n)的算法
1310 Robot 简单题
1311 Network 简单题
1344 A Mazing Problem 简单题
1395 Door Man 简单题,欧拉回路
1372 Networking 简单题
1406 Jungle Roads 简单题
1053 FDNY to the Rescue! 简单题
1055 Oh, Those Achin Feet 不错的简单题
1059 What s In a Name 简单题
1064 Roads Scholar 简单题
1082 Stockbroker Grapevine 简单题
1085 Alien Security 简单题,我觉得我当时的算法好巧妙:)
1097 Code the Tree 简单题
1060 Sorting It All Out 简单题,但是规模要是大些的话……
1105 FatMouse s Tour 简单题
1119 SPF 简单题
1127 Roman Forts 简单题
1140 Courses 简单题
1157 A Plug for UNIX 蛮不错的简单题
1203 Swordfish 简单题
1221 Risk 简单题,最短路
1197 Sorting Slides 简单题,匹配
1268 Is It A Tree? 不错的题,图论
1273 It s Ir-Resist-Able! 简单题,图论
1298 Domino Effect 简单题,最长路
1260 King 简单题,差分限制系统……
1291 MPI Maelstrom 不错的题,最长路
1266 Gossiping 简单题
1285 Shipping Routes 无聊题,最短路
1313 Gears on a Board 无聊题
1502 Plugged In 无聊题,匹配应该可以,但是太烦了,没做……
1568 WishingBone s Room Plan 无聊题,最大最小匹配,不过容易看错题~~~~~~
1077 Genetic Combinations 无聊题,匹配
1364 Machine Schedule 背诵题……匹配……
1137 Girls and Boys 背诵题,匹配……
1023 University Entrace Examination 经典题,但是和1576重复
1576 Marriage is Stable 经典题,感人的背景,经典的算法……
1249 Pushing Boxes 经典题,某人的论文写过,求割点和块+BFS可以在O(面积)的时间内做出来,但是这题似乎已经比较老了
1141 Closest Common Ancestors 没有完美解决,最简单的算法就能过,但要是规模大了……
1084 Channel Allocation 尚未完美解决,我用搜索过的,不过是不是有更好的算法呢……?
1231 Mysterious Mountain SRbGa的经典题……
1232 Adventure of Super Mario SRbGa的经典题……
数学:
1007 Numerical Summation of a Series 简单题,还是蛮有意思的
1045 HangOver 简单题
1049 I Think I Need a Houseboat 简单题
1028 Flip and Shift 简单题,可以DP/BFS/……,但是实际上有数学方法可以直接判断出来
1026 Modular multiplication of polynomials 简单题,感觉有比较简单的好算法,但想不出来:(
1307 Packets 简单题,不过也蛮经典的……
1312 Prime Cuts 简单题
1334 Basically Speaking 简单题
1337 Pi 简单题
1342 Word Index 简单题
1349 Four Quarters 简单题
1350 The Drunk Jailer 简单题
1352 Number Base Conversion 简单题
1353 Unimodal Palindromic Decompositions 规模不大,所以是简单题……
1354 Extended Lights Out 简单题
1362 Game Prediction 简单题
1365 Mileage Bank 简单题
1382 A Simple Task 简单题
1383 Binary Numbers 简单题
1403 Safecracker 简单题
1408 The Fun Number System 简单题
1486 Color the Tree 简单题
1487 Playing Cards 简单题
1489 2^x mod n = 1 简单题,应该有好算法,不过枚举就可以过……
1503 One Person "The Price is Right" 简单题,POI Eggs的翻版
1512 Water Treatment Plants 简单题,组合计数
1526 Big Number 简单题,不过O(1)和O(n)还是有区别的:)
1529 Enigmatic Travel 简单题,不过个人感觉题目描述很令人费解
1530 Find The Multiple 简单题
1537 Playing with a Calculator 简单题
1577 GCD & LCM 简单题,分区联赛的题……
1005 Jugs 简单题
1543 Stripies 简单题
1569 Partial Sums 简单题
1062 Trees Made to Order 简单题
1070 Bode Plot 简单题
1073 Round and Round We Go 简单题,142857,我喜欢^_^
1078 Palindrom Numbers 简单题
1086 Octal Fractions 简单题
1199 Point of Intersection 简单题
1104 Leaps Tall Buildings 简单题
1110 Dick and Jane 简单题
1115 Digital Roots 简单题
1113 u Calculate e 简单题
1152 A Mathematical Curiosity 简单题
1154 Niven Numbers 简单题
1160 Biorhythms 简单题
1163 The Staircases 简单题
1177 K-Magic Number 简单题
1184 Counterfeit Dollar 简单题
1182 Keeps Going and Going and ... 简单题,我喜欢:)
1284 Perfection 简单题
1272 Numerically Speaking 简单题
1269 Coconuts, Revisited 简单题
1247 There s Treasure Everywhere! 简单题
1241 Geometry Made Simple 简单题
1202 Divide and Count 简单题
1216 Deck 简单题
1218 Ratio 简单题
1261 Prime Land 简单题
1212 Mountain Landscape 无聊题
1410 Number Sequence 无聊题
1401 Hilbert Curve Intersections 无聊题
1331 Perfect Cubes 无聊题
1322 Random Number 无聊题
1535 Lucky Ticket 无聊题
1539 Lot 无聊题
1363 Chocolate 经典题……
1366 Cash Machine 经典题!强烈推荐!
1149 Dividing up 经典题,应该可以用1366的方法做,但似乎可以利用问题的特殊性用贪心+DP在O(1)的时间内做出来
1222 Just the Facts 经典题,没有完美解决,我的做法是O(logn^2)的,据说可能有O(logn)的做法,但我没想到:(
1475 Ranklist 没有完美解决,不知道您有没有好方法……
1572 Bracelet ~~~题义不明,感觉可能是判定欧拉回路的存在性,但是过不去,555……
1133 Smith Numbers 没有完美解决,数学
1080 Direct Subtraction 尚未解决,我过的程序是错的,想和您讨论~~~
1229 Gift?! SRbGa的经典题……
1238 Guess the Number SRbGa的经典题……
1239 Hanoi Tower Troubles Again! SRbGa的经典题……
字符串处理:
1050 Start Up the Startup 简单题
1315 Excuses, Excuses! 简单题
1151 Word Reversal 简单题,好像是什么Practice的……
1170 String Matching 简单题
1174 Skip Letter Code 不错的简单题
1175 Word Process Machine 简单题
1181 Word Amalgamation 简单题
1038 T9 无聊题,单词树
1330 DNA Translation 无聊题
1335 Letter Sequence Analysis 无聊题
1099 HTML 无聊题
1243 URLs 无聊题
1540 Censored! 经典题!强烈推荐!
1511 Word Puzzles 没有完美解决的题,可以用后缀树……但是没多大意义……而且我通过的程序是错的……
搜索:
1002 Fire Net 简单题,CEOI2002的Guard的缩小版,搜索就可以
1003 Crashing Balloon 简单题,很faint的题目,想了半天,最后发现最简单的搜索就能过
1004 Anagrams by Stack 简单题,同样faint
1320 DEL Command 简单题
1496 Best Fit 简单题
1179 Finding Rectangles 简单题
1190 Optimal Programs 简单题
1217 Eight 简单题
1204 Additive equations 简单题
1219 Pizza Anyone? 简单题
1036 Enigma 2 无聊题,终于耐心读完题目后发现是简单的搜索+模拟……faint……建议不要看……
1089 Lotto 无聊题
1054 For the Porsche 无聊题
1302 Ships ……题
1031 Square Destroyer 变态题,:(:(:(:(,狂剪枝才过的……
1297 Hexagon 变态题,标准解法是搜索……
1008 Gnome Tetravex 经典题,个人感觉是很不错的卡时搜索,不过似乎IOI不会出这种题型……
1380 Microfiches 经典题!强烈推荐!
1252 Island of Logic 经典题,不过也够老了……
1237 Fans and Gems SRbGa的经典题,变态,但是很有趣:)
模拟:
1051 A New Growth Industry 简单题
1300 Border 简单题
1326 M*A*S*H 简单题
1494 Climbing Worm 简单题
1072 Microprocessor Simulation 简单题
1098 Simple Computers 简单题
1056 The Worm Turns 简单题
1195 Blowing Fuses 简单题
1189 Numbers That Count 简单题
1144 Robbery 简单题
1153 Tournament Seeding 简单题,但是直接计算好像不行,得模拟……:(
1167 Trees on the Level 简单题
1200 Mining 简单题
1278 Pseudo-Random Numbers 简单题
1257 Parking Lot 简单题
1270 Nonstop Travel 简单题
1207 The Knight, the Princess, and the Dragons 无聊题
1169 Square Cipher 无聊题
1176 Die and Chessboard 无聊题
1178 Booklet Printing 无聊题
1009 Enigma 无聊题,但是很容易错……:(
1012 Mainframe 无聊题,但是很容易错……:(
1324 Unix ls 无聊题,输出格式没说清楚~~~~~~~
1336 Mark-up 无聊题
1277 Transferable Voting 无聊题
1279 Cowculations 无聊题
1281 Hi-Q 无聊题
1282 Call Forwarding 无聊题
1065 Robots 变态题,太复杂啦~~~~~~~~~~~
1208 Roll the Die! 变态题
1388 Exchanges 经典题!强烈推荐!
1236 Eat or Not to Eat? SRbGa的经典题……模拟
几何:
1575 Koch Curve 简单题
1010 Area 简单题
1565 Input 简单题
1081 Points Within 简单题
1165 Laser Lines 简单题,但是算法能否再改进呢……?
1248 Video Surveillance 简单题,李彭煦的论文中写到过,好像是某年CTSC的……
1299 Pendulum 简单题,我蛮喜欢的:)
1090 The Circumference of the Circle 无聊题
1271 Doing Windows 无聊题
1280 Intersecting Lines 无聊题
1296 Stars 经典变态题……
1030 Farmland 变态题……现在我都为自己当时居然能做出来感到不可思议……
1041 Transmitters 变态题……好烦人……现在绝对没有信心再做一遍了……
1158 Treasure Hunt 经典题,zig教会我的……
1139 Rectangles 没有完美解决
其它:
1006 Do the Untwist 简单题
1014 Operand 简单题
1016 Parencodings 简单题
1042 W s Cipher 简单题
1047 Image Perimeters 简单题
1514 Fake Tickets 简单题
1029 Moving Tables 简单题,好像是线段树的经典题目之一,但是这题规模比较小,所以不必用。
1504 Slots of Fun 简单题
1314 Uniform Generator 简单题
1325 Palindromes 简单题
1319 Black Box 简单题,但当初我没做出来……被zig教会的……555……
1341 LED Test 简单题
1338 Up and Down Sequences 简单题
1339 Machined Surfaces 简单题
1358 Moving Object Recognition 简单题
1392 The Hardest Problem Ever 简单题
1402 Magnificent Meatballs 简单题
1405 Tanning Salon 简单题
1414 Number Steps 简单题
1423 (Your)((Term)((Project))) 简单题
1427 An Old Stone Game 简单题
1439 Area Ratio 简单题
1449 Maximum Sum 简单题
1476 Weird Clock 简单题
1477 File Compression 简单题,不过我一直没做出来……后来被LC教会的……@*:)……
1481 Namenum 简单题
1482 Partitions 简单题,不过限制了空间……
1484 Minimum Inversion Number 简单题
1493 DPCM Encoding 简单题
1495 Stacking Tower 简单题
1057 Undercut 简单题
1518 This Sentence is False 简单题,并查集
1538 Cipher 简单题
1546 Fillword 简单题,实在是有点……
1552 Decoding Task 简单题
1061 Web Navigation 简单题
1063 Space Station Shielding 简单题
1067 Color Me Less 简单题
1068 P,MTHBGWB 简单题
1071 Follow My Logic 简单题,但很可爱:)
1074 To the Max 简单题
1075 Set Me 简单题
1079 Robotic Jigsaw 简单题,和我推荐的那题不同,这个题说了可以根据条件确定拼法
1083 Frame Stacking 简单题
1088 System Overload 简单题,约瑟夫环
1091 Knight Moves 简单题
1095 Humble Numbers 简单题
1188 DNA Sorting 简单题
1171 Sorting the Photos 简单题
1156 Unscrambing Images 简单题
1142 Maze 简单题
1128 Atlantis 简单题
1120 Chairlift 简单题
1122 Clock 简单题
1125 Floating Point Numbers 简单题
1117 Entropy 简单题
1109 Language of FatMouse 简单题,Dictionary的实现……
1143 Data Bugs 简单题
1146 LC-Display 简单题,LC……
1159 487-3279 简单题
1164 Software CRC 简单题
1168 Function Run Fun 简单题
1191 The Die Is Cast 简单题,并查集/bfs
1286 Slurpys 不错的简单题
1292 Integer Inquiry 简单题
1293 Floppies 简单题
1294 Golf 简单题
1295 Reverse Text 简单题
1274 Getting Chorded 简单题
1251 Box of Bricks 简单题
1244 Definite Values 简单题
1242 Carbon Dating 简单题
1240 IBM Minus One 简单题
1201 Inversion 简单题
1205 Martian Addition 简单题
1210 Reciprocals 简单题
1246 Instant Complexity 简单题,好像是某年CTSC的……
1259 Rails 简单题,构造
1033 Ambiguous Dates 无聊题
1046 Double Vision 无聊题,直接枚举就可以了,但是有一些很faint的极端情况,提交了n次才过……
1485 Messy Matrix 无聊题,河北老前辈出的,麻烦的构造~~~~~~
1111 Poker Hands 无聊题
1118 N-Credible Mazes 无聊题,题义实在费解……
1126 Bio-Informatics 无聊题
1150 S-Trees 无聊题
1209 April Fool s Joke 无聊题
1267 Mapping the Route 无聊题
1263 Time 无聊题
1275 Run, Run, Runaround Numbers 无聊题
1283 Making the Grade 无聊题
1440 Bone Sort 背诵题,排序+最长不xx子序列,而且很容易看错~~~~~~~
1025 Wooden Sticks 背诵题,排序+最长不xx子序列……
1108 FatMouse s Speed 背诵题,排序+最长不xx子序列……
1256 What Day Is It? 变态题,原来现行历法这么复杂……faint……
1265 Append 经典题
1384 Alice and Bob 经典题
1390 Gates 经典题!强烈推荐!
1087 Cracking the Code 经典题,不过要是能做成Output Only就更好了……
1069 Plato s Blocks 经典题,没有解决得非常完美……
1102 Phylogenetic Trees Inherited 经典题,贪心
1130 Ouroboros Snake 经典题,构造
1101 Gamblers 尚未完美解决,我开了巨大的hash才过的:(
1498 Galactic Breakup 尚未完美解决……有没有“拆查集”?
1019 Illusive Chase 没有完美解决的题,没给规模,感觉也许有比较好的算法,但是没想出来,最后发现我的弱智算法居然0.01秒通过,faint……
1235 DDR King SRbGa的经典题……
附:多版本pku题目分类及算法分类
按照ac的代码长度分类(主要参考最短代码和自己写的代码)
短代码:0.01K--0.50K;中短代码:0.51K--1.00K;中等代码量:1.01K--2.00K;长代码:2.01K以上。
短:1147、1163、1922、2211、2215、2229、2232、2234、2242、2245、2262、2301、2309、2313、2334、2346、2348、2350、2352、2381、2405、2406;
中短:1014、1281、1618、1928、1961、2054、2082、2085、2213、2214、2244、2247、2255、2257、2258、2260、2265、2272、2273、2275、2287、2299、2329、2376;
中等:1001、1018、1037、1039、1054、1125、1655、2165、2210、2212、2225、2240、2241、2243、2246、2254、2303、2312、2339;
长:1009、1010、1015、2050。
附注:
短(中短)代码但要有思想(一定难度):1014、1147、1618、1961、2054、2082、2232、2244、2255、2273、2287、2299、2313、2348、2352、2376、2406;
长代码但没有难度:2050。
---------------------------------------------------------------------------------------------------------------------------
动态规划:
1037A decorative fence、1050 To the Max、1088 滑雪、1125 StockbrokerGrapevine、1141 Brackets Sequence、1159 Palindrome、1160 Post Office、1163The Triangle、1458 Common Subsequence、1579 Function Run Fun、1887 Testingthe CATCHER、1953 World Cup Noise、2386 Lake Counting
简单、模拟题:
1001 Exponentiation 、1002 487-3279、1003 Hangover 、1701Dissatisfying Lift、2301 Beat the Spread!、2304 Combination Lock、2328Guessing Game、2403 Hay Points 、2406 Power Strings、2339 Rock, Scissors,Paper、2350 Above Average、2218 Does This Make Me Look Fat?、2260 ErrorCorrection、2262 Goldbach/'s Conjecture、2272 Bullseye、2136 VerticalHistogram、2174 Decoding Task、2183 Bovine Math Geniuses、2000 GoldCoins、2014 Flow Layout、2051 Argus、2081 Calendar、1918 Ranking List、1922Ride to School、1970 The Game、1972 Dice Stacking、1974 The HappyWorm、1978 Hanafuda Shuffle、1979 Red and Black、1617 Crypto Columns、1666Candy Sharing Game、1674 Sorting by Swapping、1503 Integer Inquiry、1504Adding Reversed Numbers、1528 Perfection、1546 Basically Speaking、1547Clay Bully、1573 Robot Motion、1575 Easier Done Than Said?、1581 AContesting Decision、1590 Palindromes、1454 Factorial Frequencies、1363Rails、1218 THE DRUNK JAILER、1281 MANAGER、1132 Border、1028 WebNavigation、
博弈类
1067 取石子游戏、1740 A New Stone Game、2234 Matches Game、1082 Calendar Game 、2348 Euclid/'s Game、2413 How many Fibs?、2419 Forests
初等数学
1003Hangover、1045 Bode Plot、1254 Hansel and Grethel、1269 IntersectingLines、1401 Factorial、1410 Intersection、2363 Blocks 、2365 Rope、2242 TheCircumference of the Circle、2291 Rotten Ropes、2295 A DP Problem、2126Factoring a Polynomial、2191 Mersenne Composite Numbers、2196 SpecializedFour-Digit Numbers、1914 Cramer/'s Rule、1835 宇航员、1799 Yeehaa!、1607Deck、1244 Slots of Fun、1269 Intersecting Lines、1299 Polar Explorer、1183反正切函数的应用、
图论及组合数学
2421 Constructing Roads、2369 Permutations、2234 MatchesGame、2243 Knight Moves、2249 Binomial Showdown、2255 Tree Recovery、2084Game of Connections、1906 Three powers、1833 排列、1850 Code、1562 OilDeposits、1496 Word Index、1306 Combinations、1125 StockbrokerGrapevine、1129 Channel Allocation、1146 ID Codes、1095 Trees Made toOrder、找规律2247 Humble Numbers、2309 BST、2346 Lucky tickets、2370 Democracyin danger、2365 Rope、2101 Honey and Milk Land
2028 When Can WeMeet?、2084 Game of Connections、1915 Knight Moves、1922 Ride toSchool、1941 The Sierpinski Fractal、1953 World Cup Noise、1958 StrangeTowers of Hanoi、1969 Count on Canton、1806 Manhattan 2025、1809Regetni、1844 Sum、1870 Bee Breeding、1702 Eva/'s Balance、1728 A flea on achessboard、1604 Just the Facts、1642 Stacking Cubes、1656 CountingBlack、1657 Distance on Chessboard、1662 CoIns、1663 Number Steps、1313Booklet Printing、1316 Self Numbers、1320 Street Numbers、1323 GamePrediction、1338 Ugly Numbers、1244 Slots of Fun、1250 Tanning Salon、1102LC-Display、1147 Binary codes、1013 Counterfeit Dollar、
---------------------------------------------------------------------------------------------------------------------------
题目分类
排序 1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂) 2231 2371(简单排序) 2388(顺序统计算法) 2418(二叉排序树)
回溯搜索:1979(和迷宫类似) 1980(对剪枝要求较高)
数学计算 简单(或不值得做的题):1003 1004 1005 1068 1326 1656 1657 1658 1663 19221978 2000 2013 2014 2017 2070 2101 2105 2140 2190 2272 2301 2405 2419
中等:1006(中国剩余定理) 1323 1969 2015(解密码) 2081(预处理) 2085(找规律)
难: 1014 1037 1147 2082 (这些是上课讲的)
高精度计算:1001(高精度乘法) 2413(高精度加法,还有二分查找)
历法:1008 2080 (这种题要小心)
枚举:1054(剪枝要求较高) 1650 (小数的精度问题)
数据结构的典型算法:1125(弗洛伊德算法) 2421(图的最小生成树)
动态规划:1163(经典题)
贪心:1328 1755(或用单纯形方法) 2054
模拟: 1281 1928 2083 2141 2015
递归: 1664
字符串处理:2121 2403
---------------------------------------------------------------------------------------------------------------------------
有标准模型的:
1125 1163 1183 1979 1185 1184 1187
寻找新算法的:
1014 1067 1147 1922 2082
调节情绪用:
1004 950 1218 1281 1928 1978 2000 2027
---------------------------------------------------------------------------------------------------------------------------
主流算法:
1.搜索 //回溯
2.DP(动态规划)
3.贪心
4.图论 //Dijkstra、最小生成树、网络流
5.数论 //解模线性方程
6.计算几何 //凸壳、同等安置矩形的并的面积与周长
7.组合数学 //Polya定理
8.模拟
9.数据结构 //并查集、堆
10.博弈论
//表示举例
非主流算法:
1.送分题
2.构造
3.高精度
4.几何
5.排序
6.日期/时间处理 (这类题目相当多的)
7.数学方法
8.枚举
9.递推
10.递归
11.分治
说明:
显然“送分题”不是一种算法。但是ACM竞赛中经常有一些很简单很简单的题目,具体涉及内容繁杂,难以归类,干脆就管他们叫送分题。
几何不同于计算几何,计算几何或者叫S计算几何,以Shamos在1975年发表的一篇论文为诞生标志。其实两者有很大的不同。
部分题目分类统计:
网络流:
最大流:
1087 a plug for UNIX
1149 PIGS
1273 drainage ditches
1274 the perfect stall
1325 machine schedule
1459 power network
2239 selecting courses
最小费用最大流:
2195 going home
?2400 supervisor, supervisee
压缩存储的DP
1038 bugs integrated inc
1185 炮兵阵地
2430 lazy cow
最长公共子串(LCS):
1080 human gene functions
1159 palindrome
1458 common subsequence
2192 zipper
凸包
1113 wall
2187 beauty contest
---------------------------------------------------------------------------------------------------------------------------
说明:递推算动归, 离散化算数据结构, 并查集算数据结构, 博弈算动归, 麻烦题一般都是不错的综合题, 最短路算图论,数据的有序化算排序
麻烦题:
1697, 1712, 1713, 1720, 1729, 1765, 1772, 1858, 1872, 1960, 1963, 2050, 2122, 2162, 2219, 2237,
简单题目:
1000, 1003, 1004, 1005, 1007, 1046, 1207, 1226, 1401, 1504,1552, 1607, 1657, 1658, 1674, 1799, 1862, 1906, 1922, 1929, 1931, 1969,1976, 2000, 2005, 2017, 2027, 2070, 2101, 2105, 2109, 2116, 2136, 2160,2190, 2232, 2234, 2275, 2301, 2350, 2363, 2389, 2393, 2413, 2419,
推荐:
1063, 1064, 1131, 1140, 1715, 2163,
杂题:
1014, 1218, 1316, 1455, 1517, 1547, 1580, 1604, 1663, 1678,1749, 1804, 2013, 2014, 2056, 2059, 2100, 2188, 2189, 2218, 2229, 2249,2290, 2302, 2304, 2309, 2313, 2316, 2323, 2326, 2368, 2369, 2371, 2402,2405, 2407,
推荐:
1146, 1147, 1148, 1171, 1389, 1433, 1468, 1519,1631, 1646, 1672, 1681, 1700, 1701, 1705, 1728, 1735, 1736, 1752, 1754,1755, 1769, 1781, 1787, 1796, 1797, 1833, 1844, 1882, 1933, 1941, 1978,2128, 2166, 2328, 2383, 2420,
高精度:
1001, 1220, 1405, 1503,
排序:
1002, 1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379, 2388, 2418,
推荐:
1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380,
搜索
容易:
1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606,1664, 1731, 1742, 1745, 1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381,2386, 2426,
不易:
1024, 1054, 1117, 1167, 1708, 1746, 1775, 1878, 1903, 1966, 2046, 2197, 2349,
推荐:
1011,1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709, 1714,1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170,2288, 2331, 2339, 2340,
数据结构
容易:
1182, 1656, 2021, 2023, 2051, 2153, 2227, 2236, 2247, 2352, 2395,
不易:
1145, 1177, 1195, 1227, 1661, 1834,
推荐:
1330, 1338, 1451, 1470, 1634, 1689, 1693, 1703, 1724, 1988, 2004, 2010, 2119, 2274,
动态规划
容易:
1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178,1179, 1189, 1208, 1276, 1322, 1414, 1456, 1458, 1609, 1644, 1664, 1690,1699, 1740, 1742, 1887, 1926, 1936, 1952, 1953, 1958, 1959, 1962, 1975,1989, 2018, 2029, 2033, 2063, 2081, 2082, 2181, 2184, 2192, 2231, 2279,2329, 2336, 2346, 2353, 2355, 2356, 2385, 2392, 2424,
不易:
1019,1037, 1080, 1112, 1141, 1170, 1192, 1239, 1655, 1695, 1707, 1733, 1737,1837, 1850, 1920, 1934, 1937, 1964, 2039, 2138, 2151, 2161, 2178,
推荐:
1015,1635, 1636, 1671, 1682, 1692, 1704, 1717, 1722, 1726, 1732, 1770, 1821,1853, 1949, 2019, 2127, 2176, 2228, 2287, 2342, 2374, 2378, 2384, 2411,
字符串:
1488, 1598, 1686, 1706, 1747, 1748, 1750, 1760, 1782, 1790,1866, 1888, 1896, 1951, 2003, 2121, 2141, 2145, 2159, 2337, 2359, 2372,2406, 2408,
贪心:
1042, 1065, 1230, 1323, 1477, 1716, 1784,
图论
容易:
1161, 1164, 1258, 1175, 1308, 1364, 1776, 1789, 1861, 1939, 1940, 1943, 2075, 2139, 2387, 2394, 2421,
不易:
1041, 1062, 1158, 1172, 1201, 1275, 1718, 1734, 1751, 1904, 1932, 2173, 2175, 2296,
网络流:
1087, 1273, 1698, 1815, 2195,
匹配:
1274, 1422, 1469, 1719, 2060, 2239,
Euler:
1237, 1637, 1394, 2230,
推荐:
2049, 2186,
计算几何
容易:
1319, 1654, 1673, 1675, 1836, 2074, 2137, 2318,
不易:
1685, 1687, 1696, 1873, 1901, 2172, 2333,
凸包:
1113, 1228, 1794, 2007, 2187,
模拟
容易:
1006, 1008, 1013, 1016, 1017, 1169, 1298, 1326, 1350, 1363, 1676, 1786, 1791, 1835, 1970, 2317, 2325, 2390,
不易:
1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,
数学
容易:
1061, 1091, 1142, 1289, 1305, 1306, 1320, 1565, 1665,1666, 1730, 1894, 1914, 2006, 2042, 2142, 2158, 2174, 2262, 2305, 2321,2348,
不易:
1067, 1183, 1430, 1759, 1868, 1942, 2167, 2171, 2327,
推荐:
1423, 1450, 1640, 1702, 1710, 1721, 1761, 1830, 1930, 2140,
---------------------------------------------------------------------------------------------------------------------------
POJ部分题目分类
算法入门(简单题)
1000 1003 1004 1005 1006 1007 1015(学会dp) 1016 10171018 1042(dp) 1046(简单数学) 1054(简单的剪枝) 1062(dp) 1068
1095 1113(凸包,但规模小,O(n^2)的也行) 1125 1127 1152 1154
1183(用笔算算) 1218 1221 1244 1281 1312 1313(找找规律)
1315(学会搜索) 1321(同1315) 1323(dp) 1326 1331 1491
1493(找规律) 1503(高精度) 1504 1517 1519 1547 1552
1563(考虑仔细一点,还要注意精度) 1650(不是好题) 1651(dp) 1656
1657 1658 1663 1675(计算几何) 1681 1702(三进制运算) 1799
1828 1862(简单数学) 1887 1906(实战好题) 1914 1915(宽搜)
1928 1936 1978 1979 2000 2019(dp好题) 2027(垃圾题) 2028
2078(不要重复搜索) 2080 2081 2083 2140 2141 2184(活用dp)
2190 2192 2193 2196 2199 2209 2211 2243 2248(搜索)
2260 2261 2262 2291 2301 2304 2309(找规律) 2316 2317
2318 2325 2355 2357 2363 2378(树的dp) 2381 2385 2393
2394 2395 2413(高精度基础) 2418 2419
经典
1011(搜索好题)
1012(学会打表)
1013
1019(它体现了很多此类问题的特点)
1050(绝对经典的dp)
1088(dp好题)
1157(花店,经典的dp)
1163(怎么经典的dp那么多呀???)
1328(贪心)
1458(最长公共子序列)
1647(很好的真题,考临场分析准确和下手迅速)
1654(学会多边形面积的三角形求法)
1655(一类无根树的dp问题)
1804(逆序对)
2084(经典组合数学问题)
2187(用凸包求最远点对,求出凸包后应该有O(N)的求法,可我就是调不出来)
2195(二分图的最佳匹配)
2242(计算几何经典)
2295(等式处理)
2353(dp,但要记录最佳路径)
2354(立体解析几何)
2362(搜索好题)
2410(读懂题是关键)
2411(经典dp)
趣味
1067(很难的数学,但仔细研究,是一片广阔的领域)
1147(有O(n)的算法,需要思考)
1240(直到一棵树的先序和后序遍历,那么有几种中序遍历呢?dp)
1426(是数论吗?错,是图论!)
1648(别用计算几何,用整点这个特点绕过精度的障碍吧)
1833(找规律)
1844(貌似dp或是搜索,其实是道有趣的数学题)
1922(贪心,哈哈)
2231
2305(不需要高精度噢)
2328(要仔细噢)
2356(数论知识)
2359(约瑟夫问题变种)
2392(有趣的问题)
很繁的题
1001
1008
1087(构图很烦,还有二分图的最大匹配)
1128(USACO)
1245
1329
1550(考的是读题和理解能力)
1649(dp)
2200(字符串处理+枚举)
2358(枚举和避免重复都很烦)
2361(仔细仔细再仔细)
难题
1014(数学证明比较难,但有那种想法更重要)
1037(比较难的dp)
1405(高精度算法也分有等级之分,不断改进吧)
2002(不知道有没有比O(n^2*logn)更有的算法?)
2054(极难,很强的思考能力)
2085(组合数学)
2414(dp,但要剪枝)
2415(搜索)
2423(计算几何+统计)
多解题
1002(可以用排序,也可以用统计的方法)
1338(搜索和dp都可以)
1664(搜索和dp都练一练吧)
2082(这可是我讲的题噢)
2352(桶排和二叉树都行)
---------------------------------------------------------------------------------------------------------------------------
Instruction:
If there is an * after a problem ID, it means a simple note followed below.
For freshman:
1001 1002 1007 1008 1012 1016 1068 1163 1218(*)
1281 1316 1326 1411 1552 1647 1650 1658 1659 1663
1666 1928 1936 2013 2014 2017 2080 2083 2105 2136
2141 2163 2242 2244 2328 2386 2403 2405 2413 2419
A little skill needed:
1013 1026 1029(similar to 1013) 1147 1152 1405 1649 1657 1922
2081 2085 2140 2159 2247 2309 2402
Math problem:
1006 1061 1095 1183 1700(*) 1844 1862 2084(*) 2232 2234(*)
Search:
1011(*) 1129 2078(*) 2362(similar to 1011)
Graph:
1062 1094 1125 1128 1130 1655 1661 1674(*) 1909 2049 2195(*) 2395(*)
2421
DP problems:
1029 1050 1080 1088 1651 1664 1742(*) 2181 2192 2392(similar to 1742)
2397 2411(*)
Greedy:
1017(*) 1065 1083(*) 1089 1323 1328 1505(*) 1828 2082(*) 2393
Data Structure :
1988(*) 2051(*) 2182(*) 2236(*) 2424
Others:
1150(*) 1654(*) 1833 1835 2299(*) 2406(*) 2407
A bit complicated:
1021(*) 1054 1863(*) 2015
Great Challenging
1014(*)
Note:
1011: 很经典的剪支
1014: 难在数学上
1017: 严格的数学证明貌似不容易
1021: 有点繁,考察对图形进行各种旋转的处理
1083: 巧妙的思考角度
1150: 分奇偶讨论,lg(n)算法
1218: 三行就够了,虽然简单,但也有优劣之别
1505: 二分加贪心
1654: 做法也许很多吧,本人用有向面积做的
1674: 计算圈的个数(算是graph 吧)
1700: 数学证明不容易
1742: O(m*n)的算法
1863: 要耐心地慢慢写…^_^
1988: 并查集
2051: 堆
2078: 不难,但剪支可以做到很好
2082::O(n),你想到了吗?
2084: 卡特兰数
2182: 线段树
2195: 最小费用最大流
2234: 经典博弈算法
2236: 并查集
2299: 二分思想
2395: Kruskal 最小生成树的拓展
2406: KMP
2411: 用二进制串来表示状态
---------------------------------------------------------------------------------------------------------------------------
Judge Online
基础题:
1000,1003,1004,1005,1008,1012,1013,1016,1019,1022
1026,1028,1029,1035,1046,1247,1298,1316,1326,1401
1504,1547,1552,1647,1648,1649,1650,1651,1652,1653
1657,1658,1663,1750,1754,1922,1928,1969,2027,2080
2081,2085,2105,2136,2190,2210,2249,2272,2273,2275
2291,2295,2301,2304,2316,2328,2334,2381,2390
基本数据结构:
堆:
1442
排序分治:
1002,1007,1400,2084,2282,2299,2318,2379,2388
递归枚举搜索:
1010,1011,1018,1020,1054,1062,1256,1321,1363,1501
1650,1659,1664,1753,2078,2083,2303,2310,2329
动态规划:
1015,1163,1404,1651,1661,1742,2292,2385,2392
贪心:
1017,2054,2336,2393
图论网络流:
1021,1024,1027,1088,1125,1130,1154,1502,1751,2309
2312,2386,2387,2394,2395
数论:
1006,1014,1023,1061,1152,1183,1730,2262
计算几何:
1654,2179,2284
模拟题:
1049,1051,1234,1207,1218,1281,2271,2302,2317,2339
高精度数值计算:
1001,1131,1503,2305,2325,2389
概率统计:
1037,1050
其他:
1009,1147,2082
---------------------------------------------------------------------------------------------------------------------------
POJ已完成题目小结
基础题(比较容易,应该很快做出来的):
1000,1003,1004,1005,1008,1012,1013,1016,1019,1026,1046,1102,1107,1247,1298,1316,1326,
1519,1543,1547,1552,1565,1581,1647,1649,1648,1651,1652,1657,1658,1731,1799,1922,1928,
1969,2000,2013,2014,2017,2027,2070,2080,2081,2105,2136,2140,2041,2159,2190,2301,2350,
2388,2389,2390
数据结构(包括最短路,最小生成树等):2421,2092
排序分治: 1002,1007,2388
递归枚举搜索(有些题目还是比较难编的): 1054,2083,1318, 1321,1363,1659,1664,1062, 1190,1831,2386
博弈论1067,
构造(比较难想出来的) 1091, 1147
动态规划(有些很基础的,但也有很难的哦): 1163, 1014, 1037, 1062, 1088, 1190
贪心(仔细想想还是能够想到的): 1017, 1042,1328, 1659,2092
图论:1125
数论(想啊想): 1006,1014,1061,1953
计算几何: 1654
模拟题(有些模拟题那个难编阿): 1207,1218,1281,1323,1350,1455,1928,2051,2424
高精度数值计算(算是基础题): 1001,1131,1405,1517,1604,2389
密码题里面一道可以的:2015
---------------------------------------------------------------------------------------------------------------------------
POJ已完成题目小结
(截至2005年4月22日)
归类:
分类原则:以算法核心指向为主
算法
题目
枚举
1012 1046 1387 1411 2245 2326 2363 2381
搜索、回溯、遍历
1010 1011 1022 1054 1111 1118 1129 1190 1562 1564 1573 1655 2078 2184 2225 2243 2312 2362 2378 2386
动态规划
1015 1018 1050 1088 1159 1163 1221 1322 1458 1579 1651 1664 1742 1745 1953 2033 2084 2229 2385 2392 2393
图论(不含图遍历)
1125 1128 1130 2320 2387 2394 2395
贪心
1017 1328 1862 1922 2054 2209 2313 2325 2370
计算几何
1648 1654 1927 2007 2098 2208 2242 2276 2318
数论
1061 1320 1597 1808 1811 1845
其他数学、历法
10051006 1008 1032 1067 1152 1183 1209 1401 1423 1491 1517 1528 1543 17071799 1844 1905 1914 1942 2080 2126 2140 2190 2210 2234 2249 2299 23212348 2354 2365
任意精度运算、数字游戏
1001 1023 1047 1060 1079 1131 11401142 1207 1220 1284 1289 1306 1316 1338 1405 1454 1503 1504 1519 15651650 1969 2000 2006 2081 2247 2262 2305 2316 2389
基础算法、数据结构
1002 1007 1028 1281 1308 2092 2104 2106 2340 2352 2366 2371
字符串处理
1016 1051 1126 1318 1572 1917 1936 2039 2083 2136 2271 2317 2330
人工逻辑
1013
机械模拟、语言解析器
1049 1600 1684 1928 2050 2339 2383
其他题目
1014 1026 1045 1083 1102 1146 1477 1647 1656 1657 1660 1926 2018 2082 2231 2309 2359 2369 2380
构造
1147 1256 1426 1659 1833 1898 1906 2015 2085 2144 2201 2319 2356
无聊题目
1000 1003 1004 1218 1298 1326 1552 1658 1665 2013 2017 2027 2105 2109 2272 2301 2328 2350 2388 2390
总计:228题
---------------------------------------------------------------------------------------------------------------------------
模拟题:
1002 1004 1005 1008 1016 1326 1928 2136 2424
高精度:
1001
枚举:
1012 1013
贪心:
1017 1922
循环:
1026
动态规划:
1163
递归:
1664
最小生成树:
2421
其他:
1000 1147 1657 1658 2082
---------------------------------------------------------------------------------------------------------------------------
Judge On line
本学期刚开始做,不是很多,分得较细!
一、按类型
基础题:
1000,1003,1004,1005,2013,2017
模拟题:
1281 1922 1928
2080 (细心)
排序分治:
1002
动态规划:
1037 (大规模)
2084 (做高精度)
贪心:
2054
数论:
1001 整数运算(作高精度)
1014 集合划分,与分治
1147 1163 2081 2085数列问题
几何有关的题目:
1054 解析几何+搜索
2014
2016计算几何
2082集合的合并,运算(几何角度)
2083 分形(纯数学)
图:
1125
利用题目所给信息来推演:
2015
二、按难易
简单题
最基础的适应POJ的习题:1000 1003 1004 1005 2013 2017
需要根据情景稍微动下脑筋的习题:1922
需要对语言有很深刻的了解,锻炼基本功的:1002 1281 2014 2081
要求初步熟练算法的习题:1928
中档题:
锻炼细心考虑问题全面的习题:1001 2015 2080
要求熟练算法的习题:1054 1163 2084
难题:
对数学要求很高的题目:2083 2085
对算法要求很高的题目:1125 2054
对综合能力要求很高的题目:1037 2016 2082
技巧性高的题目:1147
锻炼英文读题的题目:2015 2082
三、需要有很强的判断力的题目:
判断高精度: 2084
判断耗时:1002
判断变量类型:1001
要求会寻找题目以外的信息:2080
2.以下转自http://www.cnblogs.com/kuangbin/archive/2011/07/29/2120667.html
初期:
一.基本算法:
(1)枚举. (poj1753,poj2965)
(2)贪心(poj1328,poj2109,poj2586)
(3)递归和分治法.
(4)递推.
(5)构造法.(poj3295)
(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)
二.图算法:
(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)串 (poj1035,poj3080,poj1936)
(2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299)
(3)简单并查集的应用.
(4)哈希表和二分查找等高效查找法(数的Hash,串的Hash)
(poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503)
(5)哈夫曼树(poj3253)
(6)堆
(7)trie树(静态建树、动态建树) (poj2513)
四.简单搜索
(1)深度优先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251)
(2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414)
(3)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)
五.动态规划
(1)背包问题. (poj1837,poj1276)
(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} (最长公共子序列)
(poj3176,poj1080,poj1159)
3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题)
六.数学
(1)组合数学:
1.加法原理和乘法原理.
2.排列组合.
3.递推关系.
(POJ3252,poj1850,poj1019,poj1942)
(2)数论.
1.素数与整除问题
2.进制位.
3.同余模运算.
(poj2635, poj3292,poj1845,poj2115)
(3)计算方法.
1.二分法求解单调函数相关知识.(poj3273,poj3258,poj1905,poj3122)
七.计算几何学.
(1)几何公式.
(2)叉积和点积的运用(如线段相交的判定,点到线段的距离等). (poj2031,poj1039)
(3)多边型的简单算法(求面积)和相关判定(点在多边型内,多边型是否相交)
(poj1408,poj1584)
(4)凸包. (poj2187,poj1113)
中级:
一.基本算法:
(1)C++的标准模版库的应用. (poj3096,poj3007)
(2)较为复杂的模拟题的训练(poj3393,poj1472,poj3371,poj1027,poj2706)
二.图算法:
(1)差分约束系统的建立和求解. (poj1201,poj2983)
(2)最小费用最大流(poj2516,poj2516,poj2195)
(3)双连通分量(poj2942)
(4)强连通分支及其缩点.(poj2186)
(5)图的割边和割点(poj3352)
(6)最小割模型、网络流规约(poj3308, )
三.数据结构.
(1)线段树. (poj2528,poj2828,poj2777,poj2886,poj2750)
(2)静态二叉检索树. (poj2482,poj2352)
(3)树状树组(poj1195,poj3321)
(4)RMQ. (poj3264,poj3368)
(5)并查集的高级应用. (poj1703,2492)
(6)KMP算法. (poj1961,poj2406)
四.搜索
(1)最优化剪枝和可行性剪枝
(2)搜索的技巧和优化 (poj3411,poj1724)
(3)记忆化搜索(poj3373,poj1691)
五.动态规划
(1)较为复杂的动态规划(如动态规划解特别的施行商问题等)
(poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034)
(2)记录状态的动态规划. (POJ3254,poj2411,poj1185)
(3)树型动态规划(poj2057,poj1947,poj2486,poj3140)
六.数学
(1)组合数学:
1.容斥原理.
2.抽屉原理.
3.置换群与Polya定理(poj1286,poj2409,poj3270,poj1026).
4.递推关系和母函数.
(2)数学.
1.高斯消元法(poj2947,poj1487, poj2065,poj1166,poj1222)
2.概率问题. (poj3071,poj3440)
3.GCD、扩展的欧几里德(中国剩余定理) (poj3101)
(3)计算方法.
1.0/1分数规划. (poj2976)
2.三分法求解单峰(单谷)的极值.
3.矩阵法(poj3150,poj3422,poj3070)
4.迭代逼近(poj3301)
(4)随机化算法(poj3318,poj2454)
(5)杂题.
(poj1870,poj3296,poj3286,poj1095)
七.计算几何学.
(1)坐标离散化.
(2)扫描线算法(例如求矩形的面积和周长并,常和线段树或堆一起使用).
(poj1765,poj1177,poj1151,poj3277,poj2280,poj3004)
(3)多边形的内核(半平面交)(poj3130,poj3335)
(4)几何工具的综合应用.(poj1819,poj1066,poj2043,poj3227,poj2165,poj3429)
高级:
一.基本算法要求:
(1)代码快速写成,精简但不失风格
(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)
(2)保证正确性和高效性. poj3434
二.图算法:
(1)度限制最小生成树和第K最短路. (poj1639)
(2)最短路,最小生成树,二分图,最大流问题的相关理论(主要是模型建立和求解)
(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446
(3)最优比率生成树. (poj2728)
(4)最小树形图(poj3164)
(5)次小生成树.
(6)无向图、有向图的最小环
三.数据结构.
(1)trie图的建立和应用. (poj2778)
(2)LCA和RMQ问题(LCA(最近公共祖先问题) 有离线算法(并查集+dfs) 和 在线算法
(RMQ+dfs)).(poj1330)
(3)双端队列和它的应用(维护一个单调的队列,常常在动态规划中起到优化状态转移的
目的). (poj2823)
(4)左偏树(可合并堆).
(5)后缀树(非常有用的数据结构,也是赛区考题的热点).
(poj3415,poj3294)
四.搜索
(1)较麻烦的搜索题目训练(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426)
(2)广搜的状态优化:利用M进制数存储状态、转化为串用hash表判重、按位压缩存储状态、双向广搜、A*算法. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482)
(3)深搜的优化:尽量用位运算、一定要加剪枝、函数参数尽可能少、层数不易过大、可以考虑双向搜索或者是轮换搜索、IDA*算法. (poj3131,poj2870,poj2286)
五.动态规划
(1)需要用数据结构优化的动态规划.
(poj2754,poj3378,poj3017)
(2)四边形不等式理论.
(3)较难的状态DP(poj3133)
六.数学
(1)组合数学.
1.MoBius反演(poj2888,poj2154)
2.偏序关系理论.
(2)博奕论.
1.极大极小过程(poj3317,poj1085)
2.Nim问题.
七.计算几何学.
(1)半平面求交(poj3384,poj2540)
(2)可视图的建立(poj2966)
(3)点集最小圆覆盖.
(4)对踵点(poj2079)
八.综合题.
(poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263)
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
以及补充
Dp状态设计与方程总结
1.不完全状态记录
<1>青蛙过河问题
<2>利用区间dp
2.背包类问题
<1> 0-1背包,经典问题
<2>无限背包,经典问题
<3>判定性背包问题
<4>带附属关系的背包问题
<5> + -1背包问题
<6>双背包求最优值
<7>构造三角形问题
<8>带上下界限制的背包问题(012背包)
3.线性的动态规划问题
<1>积木游戏问题
<2>决斗(判定性问题)
<3>圆的最大多边形问题
<4>统计单词个数问题
<5>棋盘分割
<6>日程安排问题
<7>最小逼近问题(求出两数之比最接近某数/两数之和等于某数等等)
<8>方块消除游戏(某区间可以连续消去求最大效益)
<9>资源分配问题
<10>数字三角形问题
<11>漂亮的打印
<12>邮局问题与构造答案
<13>最高积木问题
<14>两段连续和最大
<15>2次幂和问题
<16>N个数的最大M段子段和
<17>交叉最大数问题
4.判定性问题的dp(如判定整除、判定可达性等)
<1>模K问题的dp
<2>特殊的模K问题,求最大(最小)模K的数
<3>变换数问题
5.单调性优化的动态规划
<1>1-SUM问题
<2>2-SUM问题
<3>序列划分问题(单调队列优化)
6.剖分问题(多边形剖分/石子合并/圆的剖分/乘积最大)
<1>凸多边形的三角剖分问题
<2>乘积最大问题
<3>多边形游戏(多边形边上是操作符,顶点有权值)
<4>石子合并(N^3/N^2/NLogN各种优化)
7.贪心的动态规划
<1>最优装载问题
<2>部分背包问题
<3>乘船问题
<4>贪心策略
<5>双机调度问题Johnson算法
8.状态dp
<1>牛仔射击问题(博弈类)
<2>哈密顿路径的状态dp
<3>两支点天平平衡问题
<4>一个有向图的最接近二部图
9.树型dp
<1>完美服务器问题(每个节点有3种状态)
<2>小胖守皇宫问题
<3>网络收费问题
<4>树中漫游问题
<5>树上的博弈
<6>树的最大独立集问题
<7>树的最大平衡值问题
<8>构造树的最小环
http://hi.baidu.com/goodmorning0610/blog/item/562ee61b22bb461c8718bf49.html
1、 排序
1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380,
1318, 1877, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379,
1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂) 223
1 2371(简单排序) 2388(顺序统计算法) 2418(二叉排序树)
2、 搜索、回溯、遍历
1022 1111d 1118 1129 1190 1562 1564 1573 1655 2184 2225 2243 2312 2362 2378 238
6 1010,1011,1018,1020,1054,1062,1256,1321,1363,1501,1650,1659,1664,1753,2078
,2083,2303,2310,2329
简单:1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742,
1745, 1847, 1915, 1950, 2038, 2157, 2182, 2183, 2381, 2386, 2426,
不易:1024, 1054, 1117, 1167, 1708, 1746, 1775, 1878, 1903, 1966, 2046, 2197,
2349,
推荐:1011, 1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709,
1714, 1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170,
2288, 2331, 2339, 2340,1979(和迷宫类似) 1980(对剪枝要求较高)
3、 历法
1008 2080 (这种题要小心)
4、 枚举
1012,1046, 1387, 1411, 2245, 2326, 2363, 2381,1054(剪枝要求较高),16
50 (小数的精度问题)
5、 数据结构的典型算法
容易:1182, 1656, 2021, 2023, 2051, 2153, 2227, 2236, 2247, 2352, 2395,
不易:1145, 1177, 1195, 1227, 1661, 1834,
推荐:1330, 1338, 1451, 1470, 1634, 1689, 1693, 1703, 1724, 1988, 2004, 2010,
2119, 2274, 1125(弗洛伊德算法) ,2421(图的最小生成树)
6、 动态规划
1037 A decorative fence、
1050 To the Max、
1088 滑雪、
1125 Stockbroker Grapevine、
1141 Brackets Sequence、
1159 Palindrome、
1160 Post Office、
1163 The Triangle、
1458 Common Subsequence、
1579 Function Run Fun、
1887 Testing the CATCHER、
1953 World Cup Noise、
2386 Lake Counting
7、 贪心
1042, 1065, 1230, 1323, 1477, 1716, 1784,1328 1755(或用单纯形方法),2054,10
17, 1328,1862, 1922 ,2054, 2209, 2313, 2325, 2370。
8、 模拟
容易:1006, 1008, 1013, 1016, 1017, 1169, 1298, 1326, 1350, 1363, 1676, 1786,
1791, 1835, 1970, 2317, 2325, 2390,
不易:1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,1281 1928 2083 2141 2015
9、 递归
1664
10、字符串处理
1488, 1598, 1686, 1706, 1747, 1748, 1750, 1760, 1782, 1790, 1866, 1888, 1896,
1951, 2003, 2121, 2141, 2145, 2159, 2337, 2359, 2372, 2406, 2408, 1016 1051 11
26 1318 1572 1917 1936 2039 2083 2136 2271 2317 2330,2121 2403
11、数论
1006,1014,1023,1061,1152,1183,1730,2262
12、几何有关的题目
凸包:1113, 1228, 1794, 2007, 2187,1113 wall,2187 beauty contest
容易:1319, 1654, 1673, 1675, 1836, 2074, 2137, 2318,
不易:1685, 1687, 1696, 1873, 1901, 2172, 2333,
13、任意精度运算、数字游戏、高精度计算
1001 1023 1047 1060 1079 1131 1140 1142 1207 1220 1284 1289 1306 1316 1338 140
5 1454 1503 1504 1519 1565 1650 1969 2000 2006 2081 2247 2262 2305 2316 2389
1001, 1220, 1405, 1503,1001(高精度乘法) 2413(高精度加法,还有二分查找)
14、概率统计
1037,1050
15、小费用最大流、最大流
2195 going home,2400 supervisor, supervisee,1087 a plug for UNIX,1149 PIGS,
1273 drainage ditches,1274 the perfect stall,1325 machine schedule,1459 pow
er network,2239 selecting courses
16、压缩存储的DP
1038 bugs integrated inc,1185 炮兵阵地,2430 lazy cow
17、最长公共子串(LCS)
1080 human gene functions,1159 palindrome,1458 common subsequence,2192 zipp
er
18、图论及组合数学
2421 Constructing Roads、
2369 Permutations、
2234 Matches Game、
2243 Knight Moves、
2249 Binomial Showdown、
2255 Tree Recovery、
2084 Game of Connections、
1906 Three powers、
1833 排列、
1850 Code、
1562 Oil Deposits、
1496 Word Index、
1306 Combinations、
1125 Stockbroker Grapevine、
1129 Channel Allocation、
1146 ID Codes、
1095 Trees Made to Order、找规律
2247 Humble Numbers、
2309 BST、
2346 Lucky tickets、
2370 Democracy in danger、
2365 Rope、
2101 Honey and Milk Land
2028 When Can We Meet?、
2084 Game of Connections、
1915 Knight Moves、
1922 Ride to School、
1941 The Sierpinski Fractal、
1953 World Cup Noise、
1958 Strange Towers of Hanoi、
1969 Count on Canton、
1806 Manhattan 2025、
1809 Regetni、
1844 Sum、
1870 Bee Breeding、
1702 Eva\'s Balance、
1728 A flea on a chessboard、
1604 Just the Facts、
1642 Stacking Cubes、
1656 Counting Black、
1657 Distance on Chessboard、
1662 CoIns、
1663 Number Steps、
1313 Booklet Printing、
1316 Self Numbers、
1320 Street Numbers、
1323 Game Prediction、
1338 Ugly Numbers、
1244 Slots of Fun、
1250 Tanning Salon、
1102 LC-Display、
1147 Binary codes、
1013 Counterfeit Dollar、
19、博弈类
1067 取石子游戏、
1740 A New Stone Game、
2234 Matches Game、
1082 Calendar Game 、
2348 Euclid\'s Game、
2413 How many Fibs?、
2419 Forest
20、简单、模拟题
1001 Exponentiation 、
1002 487-3279、
1003 Hangover 、
1701 Dissatisfying Lift、
2301 Beat the Spread!、
2304 Combination Lock、
2328 Guessing Game、
2403 Hay Points 、
2406 Power Strings、
2339 Rock, Scissors, Paper、
2350 Above Average、
2218 Does This Make Me Look Fat?、
2260 Error Correction、
2262 Goldbach\'s Conjecture、
2272 Bullseye、
2136 Vertical Histogram、
2174 Decoding Task、
2183 Bovine Math Geniuses、
2000 Gold Coins、
2014 Flow Layout、
2051 Argus、
2081 Calendar、
1918 Ranking List、
1922 Ride to School、
1970 The Game、
1972 Dice Stacking、
1974 The Happy Worm、
1978 Hanafuda Shuffle、
1979 Red and Black、
1617 Crypto Columns、
1666 Candy Sharing Game、
1674 Sorting by Swapping、
1503 Integer Inquiry、
1504 Adding Reversed Numbers、
1528 Perfection、
1546 Basically Speaking、
1547 Clay Bully、
1573 Robot Motion、
1575 Easier Done Than Said?、
1581 A Contesting Decision、
1590 Palindromes、
1454 Factorial Frequencies、
1363 Rails、
1218 THE DRUNK JAILER、
1281 MANAGER、
1132 Border、
1028 Web Navigation、
21、初等数学
1003 Hangover、
1045 Bode Plot、
1254 Hansel and Grethel、
1269 Intersecting Lines、
1401 Factorial、
1410 Intersection、
2363 Blocks 、
2365 Rope、
2242 The Circumference of the Circle、
2291 Rotten Ropes、
2295 A DP Problem、
2126 Factoring a Polynomial、
2191 Mersenne Composite Numbers、
2196 Specialized Four-Digit Numbers、
1914 Cramer\'s Rule、
1835 宇航员、
1799 Yeehaa!、
1607 Deck、
1244 Slots of Fun、
1269 Intersecting Lines、
1299 Polar Explorer、
1183 反正切函数的应用、
22、匹配
1274, 1422, 1469, 1719, 2060, 2239,
------------------------------------------------------------------------------
-------------
经典
1011(搜索好题)
1012(学会打表)
1013
1019(它体现了很多此类问题的特点)
1050(绝对经典的dp)
1088(dp好题)
1157(花店,经典的dp)
1163(怎么经典的dp那么多呀???)
1328(贪心)
1458(最长公共子序列)
1647(很好的真题,考临场分析准确和下手迅速)
1654(学会多边形面积的三角形求法)
1655(一类无根树的dp问题)
1804(逆序对)
2084(经典组合数学问题)
2187(用凸包求最远点对,求出凸包后应该有O(N)的求法,可我就是调不出来)
2195(二分图的最佳匹配)
2242(计算几何经典)
2295(等式处理)
2353(dp,但要记录最佳路径)
2354(立体解析几何)
2362(搜索好题)
2410(读懂题是关键)
2411(经典dp)
趣味
1067(很难的数学,但仔细研究,是一片广阔的领域)
1147(有O(n)的算法,需要思考)
1240(直到一棵树的先序和后序遍历,那么有几种中序遍历呢?dp)
1426(是数论吗?错,是图论!)
1648(别用计算几何,用整点这个特点绕过精度的障碍吧)
1833(找规律)
1844(貌似dp或是搜索,其实是道有趣的数学题)
1922(贪心,哈哈)
2231
2305(不需要高精度噢)
2328(要仔细噢)
2356(数论知识)
2359(约瑟夫问题变种)
2392(有趣的问题)
很繁的题
1001
1008
1087(构图很烦,还有二分图的最大匹配)
1128(USACO)
1245
1329
1550(考的是读题和理解能力)
1649(dp)
2200(字符串处理+枚举)
2358(枚举和避免重复都很烦)
2361(仔细仔细再仔细)
难题
1014(数学证明比较难,但有那种想法更重要)
1037(比较难的dp)
1405(高精度算法也分有等级之分,不断改进吧)
2002(不知道有没有比O(n^2*logn)更有的算法?)
2054(极难,很强的思考能力)
2085(组合数学)
2414(dp,但要剪枝)
2415(搜索)
2423(计算几何+统计)
多解题
1002(可以用排序,也可以用统计的方法)
1338(搜索和dp都可以)
1664(搜索和dp都练一练吧)
2082(这可是我讲的题噢)
2352(桶排和二叉树都行)
Note:
1011: 很经典的剪支
1014: 难在数学上
1017: 严格的数学证明貌似不容易
1021: 有点繁,考察对图形进行各种旋转的处理
1083: 巧妙的思考角度
1150: 分奇偶讨论,lg(n)算法
1218: 三行就够了,虽然简单,但也有优劣之别
1505: 二分加贪心
1654: 做法也许很多吧,本人用有向面积做的
1674: 计算圈的个数(算是graph 吧)
1700: 数学证明不容易
1742: O(m*n)的算法
1863: 要耐心地慢慢写…^_^
1988: 并查集
2051: 堆
2078: 不难,但剪支可以做到很好
2082::O(n),你想到了吗?
2084: 卡特兰数
2182: 线段树
2195: 最小费用最大流
2234: 经典博弈算法
2236: 并查集
2299: 二分思想
2395: Kruskal 最小生成树的拓展
2406: KMP
2411: 用二进制串来表示状态
两个版本POJ题目推荐(转载) 题目均为POJ上的 http://acm.pku.edu.cn 个别题目的分类并不准确 ====================================== OJ上的一些水题(可用来练手和增加自信) (poj3299,poj2159,poj2739
,poj1083,poj2262,poj1503,poj3006,poj2255,poj3094)
初期: 一.基本算法: (1)枚举. (poj1753,poj2965) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (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)串 (poj1035,poj3080,poj1936) (2)排序(快排、归并排(与逆序数有关)、堆排) (poj2388,poj2299) (3)简单并查集的应用. (4)哈希表和二分查找等高效查找法(数的Hash,串的Hash) (poj3349,poj3274,POJ2151,poj1840,poj2002,poj2503) (5)哈夫曼树(poj3253) (6)堆 (7)trie树(静态建树、动态建树) (poj2513) 四.简单搜索 (1)深度优先搜索 (poj2488,poj3083,poj3009,poj1321,poj2251) (2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414) (3)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129) 五.动态规划 (1)背包问题. (poj1837,poj1276) (2)型如下表的简单DP(可参考lrj的书 page149): 1.E[j]=opt{D[i]+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} (最长公共子序列) (poj3176,poj1080,poj1159) 3.C[i,j]=w[i,j]+opt{C[i,k-1]+C[k,j]}.(最优二分检索树问题) |
-- 作者:蕉下客 -- 发布时间:2008/8/20 12:07:43 -- 六.数学 (1)组合数学: 1.加法原理和乘法原理. 2.排列组合. 3.递推关系. (POJ3252,poj1850,poj1019,poj1942) (2)数论. 1.素数与整除问题 2.进制位. 3.同余模运算. (poj2635, poj3292,poj1845,poj2115) (3)计算方法. ,poj3429) |
-- 作者:蕉下客 -- 发布时间:2008/8/20 12:08:05 -- 高级: 一.基本算法要求: (1)代码快速写成,精简但不失风格 (poj2525,poj1684,poj1421,poj1048,poj2050,poj3306) (2)保证正确性和高效性. poj3434 二.图算法: (1)度限制最小生成树和第K最短路. (poj1639) (2)最短路,最小生成树,二分图,最大流问题的相关理论(主要是模型建立和求解) (poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,poj2446 (3)最优比率生成树. (poj2728) (4)最小树形图(poj3164) (5)次小生成树. (6)无向图、有向图的最小环 三.数据结构. (1)trie图的建立和应用. (poj2778) (2)LCA和RMQ问题(LCA(最近公共祖先问题) 有离线算法(并查集+dfs) 和 在线算法 (RMQ+dfs)).(poj1330) (3)双端队列和它的应用(维护一个单调的队列,常常在动态规划中起到优化状态转移的 目的). (poj2823) (4)左偏树(可合并堆). (5)后缀树(非常有用的数据结构,也是赛区考题的热点). (poj3415,poj3294) 四.搜索 (1)较麻烦的搜索题目训练(poj1069,poj3322,poj1475,poj1924,poj2049,poj3426) (2)广搜的状态优化:利用M进制数存储状态、转化为串用hash表判重、按位压缩存储状态、双向广搜、A*算法. (poj1768,poj1184,poj1872,poj1324,poj2046,poj1482) (3)深搜的优化:尽量用位运算、一定要加剪枝、函数参数尽可能少、层数不易过大、可以考虑双向搜索或者是轮换搜索、IDA*算法. (poj3131,poj2870,poj2286) 五.动态规划 (1)需要用数据结构优化的动态规划. (poj2754,poj3378,poj3017) (2)四边形不等式理论. (3)较难的状态DP(poj3133) 六.数学 (1)组合数学. 1.MoBius反演(poj2888,poj2154) 2.偏序关系理论. (2)博奕论. 1.极大极小过程(poj3317,poj1085) 2.Nim问题. 七.计算几何学. (1)半平面求交(poj3384,poj2540) (2)可视图的建立(poj2966) (3)点集最小圆覆盖. (4)对踵点(poj2079) 八.综合题. (poj3109,poj1478,poj1462,poj2729,poj2048,poj3336,poj3315,poj2148,poj1263) |
-- 作者:蕉下客 -- 发布时间:2008/8/20 12:08:25 -- 下面是另一版本POJ推荐,基本都比较难,很多题目与黑书配套 ================================= 推荐一些题目,希望对参与ICPC竞赛的同学有所帮助。 POJ上一些题目在 http://162.105.81.202/course/problemSolving/ 可以找到解题报告。 《算法艺术与信息学竞赛》的习题提示在网上可搜到 一.动态规划 参考资料: 刘汝佳《算法艺术与信息学竞赛》 《算法导论》 推荐题目: http://acm.pku.edu.cn/JudgeOnline/problem?id=1141 简单 http://acm.pku.edu.cn/JudgeOnline/problem?id=2288 中等,经典TSP问题 http://acm.pku.edu.cn/JudgeOnline/problem?id=2411 中等,状态压缩DP http://acm.pku.edu.cn/JudgeOnline/problem?id=1112 中等 http://acm.pku.edu.cn/JudgeOnline/problem?id=1848 中等,树形DP。 可参考《算法艺术与信息学竞赛》动态规划一节的树状模型 http://acm.zju.edu.cn/show_problem.php?pid=1234 中等,《算法艺术与信息学竞赛》中的习题 http://acm.pku.edu.cn/JudgeOnline/problem?id=1947 中等,《算法艺术与信息学竞赛》中的习题 http://acm.pku.edu.cn/JudgeOnline/problem?id=1946 中等,《算法艺术与信息学竞赛》中的习题 http://acm.pku.edu.cn/JudgeOnline/problem?id=1737 中等,递推 http://acm.pku.edu.cn/JudgeOnline/problem?id=1821 中等,需要减少冗余计算 http://acm.zju.edu.cn/show_problem.php?pid=2561 中等,四边形不等式的简单应用 http://acm.pku.edu.cn/JudgeOnline/problem?id=1038 较难,状态压缩DP,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=1390 较难,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=3017 较难,需要配合数据结构优化(我的题目^_^) http://acm.pku.edu.cn/JudgeOnline/problem?id=1682 较难,写起来比较麻烦 http://acm.pku.edu.cn/JudgeOnline/problem?id=2047 较难 http://acm.pku.edu.cn/JudgeOnline/problem?id=2152 难,树形DP http://acm.pku.edu.cn/JudgeOnline/problem?id=3028 难,状态压缩DP,题目很有意思 http://acm.pku.edu.cn/JudgeOnline/problem?id=3124 难 http://acm.pku.edu.cn/JudgeOnline/problem?id=2915 非常难 二.搜索 参考资料: 刘汝佳《算法艺术与信息学竞赛》 推荐题目: http://acm.pku.edu.cn/JudgeOnline/problem?id=1011 简单,深搜入门题 http://acm.pku.edu.cn/JudgeOnline/problem?id=1324 中等,广搜 http://acm.pku.edu.cn/JudgeOnline/problem?id=2044 中等,广搜 http://acm.pku.edu.cn/JudgeOnline/problem?id=2286 较难,广搜 http://acm.pku.edu.cn/JudgeOnline/problem?id=1945 难,IDA*,迭代加深搜索,需要较好的启发函数 http://acm.pku.edu.cn/JudgeOnline/problem?id=2449 难,可重复K最短路,A*。 可参考解题报告: http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1144 http://acm.pku.edu.cn/JudgeOnline/problem?id=1190 难,深搜剪枝,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=1084 难,《算法艺术与信息学竞赛》习题 http://acm.pku.edu.cn/JudgeOnline/problem?id=2989 难,深搜 http://acm.pku.edu.cn/JudgeOnline/problem?id=1167 较难,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=1069 很难 |
-- 作者:蕉下客 -- 发布时间:2008/8/20 12:08:48 -- 三. 常用数据结构 参考资料: 刘汝佳《算法艺术与信息学竞赛》 《算法导论》 线段树资料: http://home.ustc.edu.cn/~zhuhcheng/ACM/segment_tree.pdf 树状数组资料 http://home.ustc.edu.cn/~zhuhcheng/ACM/tree.ppt 关于线段树和树状数组更多相关内容可在网上搜到 后缀数组资料 http://home.ustc.edu.cn/~zhuhcheng/ACM/suffix_array.pdf http://home.ustc.edu.cn/~zhuhcheng/ACM/linear_suffix.pdf 推荐题目 http://acm.pku.edu.cn/JudgeOnline/problem?id=2482 较难,线段树应用,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=1151 简单,线段树应用矩形面积并,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=3225 较难,线段树应用,可参考解题报告 http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1233 http://acm.pku.edu.cn/JudgeOnline/problem?id=2155 难,二维树状数组。 http://acm.pku.edu.cn/JudgeOnline/problem?id=2777 中等,线段树应用。 http://acm.pku.edu.cn/JudgeOnline/problem?id=2274 难,堆的应用,《算法艺术与信息学竞赛》中有解答 http://acm.zju.edu.cn/show_problem.php?pid=2334 中等,左偏树,二项式堆或其他可合并堆的应用。 左偏树参考http://www.nist.gov/dads/HTML/leftisttree.html 二项式堆参见《算法导论》相关章节 http://acm.pku.edu.cn/JudgeOnline/problem?id=1182 中等,并查集 http://acm.pku.edu.cn/JudgeOnline/problem?id=1816 中等,字典树 http://acm.pku.edu.cn/JudgeOnline/problem?id=2778 较难,多串匹配树 参考:http://home.ustc.edu.cn/~zhuhcheng/ACM/zzy2004.pdf http://acm.pku.edu.cn/JudgeOnline/problem?id=1743 难,后缀数组 http://acm.pku.edu.cn/JudgeOnline/problem?id=2774 较难,最长公共子串,经典问题,后缀数组 http://acm.pku.edu.cn/JudgeOnline/problem?id=2758 很难,后缀数组 可参考解题报告 http://acm.pku.edu.cn/JudgeOnline/showcontest?contest_id=1178 http://acm.pku.edu.cn/JudgeOnline/problem?id=2448 很难,数据结构综合运用 四.图论基础 参考资料: 刘汝佳《算法艺术与信息学竞赛》 《算法导论》 《网络算法与复杂性理论》谢政 推荐题目: http://acm.pku.edu.cn/JudgeOnline/problem?id=2337 简单,欧拉路 http://acm.pku.edu.cn/JudgeOnline/problem?id=3177 中等,无向图割边 http://acm.pku.edu.cn/JudgeOnline/problem?id=2942 较难,无向图双连通分支 http://acm.pku.edu.cn/JudgeOnline/problem?id=1639 中等,最小度限制生成树,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=2728 中等,最小比率生成树,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=3013 简单,最短路问题 http://acm.pku.edu.cn/JudgeOnline/problem?id=1275 中等,差分约束系统,Bellman-Ford求解,《算法艺术与信息学竞赛》中有解答 http://acm.pku.edu.cn/JudgeOnline/problem?id=1252 简单,Bellman-Ford http://acm.pku.edu.cn/JudgeOnline/problem?id=1459 中等,网络流 http://acm.pku.edu.cn/JudgeOnline/problem?id=2391 较难,网络流 http://acm.pku.edu.cn/JudgeOnline/problem?id=1325 中等,二部图最大匹配 http://acm.pku.edu.cn/JudgeOnline/problem?id=2226 较难,二部图最大匹配 http://acm.pku.edu.cn/JudgeOnline/problem?id=2195 中等,二部图最大权匹配 KM算法参考《网络算法与复杂性理论》 http://acm.pku.edu.cn/JudgeOnline/problem?id=2516 较难,二部图最大权匹配 http://acm.pku.edu.cn/JudgeOnline/problem?id=1986 中等,LCA(最近公共祖先)问题 参考Tarjan\'s LCA algorithm 《算法导论》第21章习题 http://acm.pku.edu.cn/JudgeOnline/problem?id=2723 较难,2-SAT问题 参考:http://home.ustc.edu.cn/~zhuhcheng/ACM/2-SAT.PPT http://acm.pku.edu.cn/JudgeOnline/problem?id=2749 较难,2-SAT问题 http://acm.pku.edu.cn/JudgeOnline/problem?id=3164 较难,最小树形图 参考《网络算法与复杂性理论》中朱-刘算法 五.数论及组合计数基础 http://acm.pku.edu.cn/JudgeOnline/problem?id=1811 简单,素数判定,大数分解 参考算法导论相关章节 http://acm.pku.edu.cn/JudgeOnline/problem?id=2888 较难,Burnside引理 http://acm.pku.edu.cn/JudgeOnline/problem?id=2891 中等,解模方程组 http://acm.pku.edu.cn/JudgeOnline/problem?id=2154 中等,经典问题,波利亚定理 http://cs.scu.edu.cn/soj/problem.action?id=2703 难,极好的题目,Burnside引理+模线性方程组 http://acm.pku.edu.cn/JudgeOnline/problem?id=2764 较难,需要数学方法,该方法在《具体数学》第七章有讲 http://acm.pku.edu.cn/JudgeOnline/problem?id=1977 简单,矩阵快速乘法 |