POJ经典题目分类

合集下载

POJ搜索题目题解

POJ搜索题目题解

poj搜索题总结——初期篇简单搜索(1)深度优先搜索(poj2488,poj3009,poj1321)(2)广度优先搜索(poj3278,poj1426,poj3126,poj3087.poj3414,poj2251,poj3083)(3)简单搜索技巧和剪枝(poj2531,poj1416,poj2676,1129)看到这些题是不是很眼熟。

没错,这就是某位大牛推荐初期要做的题。

而这文章就是为这些题加上解题报告以及一些总结。

深度优先搜索poj2488:A Knight's Journey如果没有按字典序输出这个要求的话,就是简单的DFS,但是加上的话,就是麻烦题。

这就要求求出全部的走法或在行走时,按照某种顺序走。

从时间上来说,当然是选择第二种了。

若存在可行路线,则每个格子必然都走过。

所以从A1开始,按照某种顺序走,若有解,则为所求,若无,则无解。

//W A了N次,才发现是倒在字典序的手下//虽然题目没说,但是这道题最后一组数据后是没有空行的...否则会PE...//若存在可行路线,则每个格子都走过。

所以从(0,0)开始即可,不需要遍历每一个起始点//注意行走的方法(即MOV数组元素的排列),可以在找到可行解时,就使得其字典序最小#include<iostream>#include<string>#include<fstream>using namespace std;bool flag;string answer[30];int chess[30][30];//这个的设置一定要与下面的转换相对应,之前就是不对应,错了N次int mov[8][2]={{-1,-2},{1,-2},{-2,-1},{2,-1},{-2,1},{2,1},{-1,2},{1,2}};string GetPosition(int x,int y) { //将X,Y坐标转换成题目要求的形式string stmp;stmp+=(char)(y+'A'); //由于先出现的是Y坐标(如B3),所以MOV数组中的Y 应从-2到2的顺序变化stmp+=(char)(x+'1');return stmp;}void SaveIt(int p,int q) { //保存下答案answer[chess[i][j]]=GetPosition(i,j);}}}void dfs(int p,int q,int num,int x,int y) {if( num==p*q ) {flag=true;SaveIt(p,q);return;}int xx,yy;for(int i=0;i<8;++i) {if( flag ) return ;xx=x+mov[i][0];yy=y+mov[i][1];if( (xx>=0 && xx<p) && (yy>=0 && yy<q) && chess[xx][yy]==0 ) {chess[xx][yy]=num+1;dfs(p,q,num+1,xx,yy);chess[xx][yy]=0;}}}int main() {ifstream cin("test.in");int cases,count(1),p,q,i;cin>>cases;while( cases-- ) {cin>>p>>q;flag=false;memset(chess,0,sizeof(chess));chess[0][0]=1;dfs(p,q,1,0,0);//outputcout<<"Scenario #"<<count++<<":"<<endl;if( flag ) {for(i=1;i<=p*q;++i) cout<<answer[i];cout<<endl;}}return 0;}poj1321:棋盘问题这题是简单的DFS,但题目有个地方说得不是很清楚,就是以“#”为标志的位置才能放棋子。

POJ题目

POJ题目
2909 字符串加空格
2910 字符串提取数字
2913 字符串加密
2915 字符串按长度排序
2927 统计字符串中数字个数
2931 比较数字个数
2934 字符串插入
2935 有未知数的表达式
2944 单词替换
2973 skew数
2974 487-3279
2975 Caesar 密码
2682 循环移位
2808 校门外的树
动态规划 动态规划
2711 合唱队形
2726 采药
2747 数字方格
2814 拨钟问题
2942 吃糖果
2945 拦截导弹
2979 陪审团的人选
2995 登山
2999 最长公共子上升序列
其他
2991 足球赛
2702 密码翻译(每个字符串加1)
2710 字符转换
2721 忽略大小写比较字符串
2743 字符串判等
2744 子串
2806 公共子序列
2818 密码
2819 W的密码
2820 古代密码
2880 最长单词,循环
2884 统计单词个数
2888 字符串中的数字,排序
2800 垂直直方图
2801 填词
2811 熄灯问题
2812 恼人的青蛙
2813 画家问题
2816 红与黑
2870 矩阵加法
2871 奇偶排序、循环
2899 矩阵行交换
2929 扩号匹配
2937 异常细胞检测
2949 平板着色

排列
2996 选课
1000 第一次练习

POJ图论分类

POJ图论分类

POJ图论分类2009-07-28 23:13POJ 2449 Remmarguts' Date(中等)/JudgeOnline/problem?id=2449题意:经典问题:K短路解法:dijkstra+A*(rec),方法很多相关:/JudgeOnline/showcontest?contest_id=1144该题亦放在搜索推荐题中POJ 3013 - Big Christmas Tree(基础)/JudgeOnline/problem?id=3013题意:最简单最短路,但此题要过,需要较好的程序速度和,还要注意精度解法:DijkstraPOJ 3463 - Sightseeing(中等)/JudgeOnline/problem?id=3463题意:最短路和比最短路大1的路的数量解法:需要真正理解dijkstraPOJ 3613 - Cow Relays(较难)/JudgeOnline/problem?id=3613题意:求经过N条边的最短路解法:floyd + 倍增,贪心POJ 3621 - Sightseeing Cows(中等)/JudgeOnline/problem?id=3621题意:求一个环路,欢乐值/ 总路径最大解法:参数搜索+ 最短路(ms 原始的bellman tle, 用spfa才过)POJ 3635 - full tank?(中等)/JudgeOnline/problem?id=3635题意:最短路变形解法:广搜相关:/hnu_reason/blog/item/086e3dccfc8cb21600e9286b.html生成树问题基本的生成树就不放上来了POJ 1639 - Picnic Planning(较难)/JudgeOnline/problem?id=1639题意:顶点度数有限制的最小生成树解法:贪心+ prim/kruskalPOJ 1679 - The Unique MST(基础)/JudgeOnline/problem?id=1679 题意:判断MST是否唯一解法:prim就行,不过还是易错的题POJ 2728 - Desert King(中等)/JudgeOnline/problem?id=2728 题意:所谓最优比率生成树解法:参数搜索+ primPOJ 3164 - Command Network(难)/JudgeOnline/problem?id=3164 题意:最小树形图解法:刘朱算法,这个考到的可能性比较小吧?POJ 3522 - Slim Span(基础)/JudgeOnline/problem?id=3522 题意:求一颗生成树,让最大边最小边差值最小解法:kruskal活用连通性,度数,拓扑问题此类问题主要牵扯到DFS,缩点等技巧POJ 1236 - Network of Schools(基础)/JudgeOnline/problem?id=1236 题意:问添加多少边可成为完全连通图解法:缩点,看度数POJ 1659 - Frogs' Neighborhood(基础)/JudgeOnline/problem?id=1659 题意:根据度序列构造图解法:贪心,详细证明参见havel定理POJ 2553 - The Bottom of a Graph(基础)/JudgeOnline/problem?id=2553 POJ 2186 - Popular Cows(基础)/JudgeOnline/problem?id=2186 题意:强连通分量缩点图出度为0的点POJ 2762 - Going from u to v or from v to u?(中等) /JudgeOnline/problem?id=2762 题意:单向连通图判定解法:缩点+ dp找最长链POJ 2914 - Minimum Cut(难)/JudgeOnline/problem?id=2914题意:无向图最小割解法:Stoer-Wagner算法,用网络流加枚举判定会挂POJ 2942 - Knights of the Round Table(难)/JudgeOnline/problem?id=2942题意:求双联通分量(或称块)中是否含奇圈解法:求出双连通分量后做黑白染色进行二分图图判定相关:/zfy0701/blog/item/57ada7ed104ce9d2b31cb104.html POJ 3177 - Redundant Paths(中等)/JudgeOnline/problem?id=3177POJ 3352 - Road Construction(中等)/JudgeOnline/problem?id=3352题意:添加多少条边可成为双向连通图解法:把割边分开的不同分量缩点构树,看入度建议对比下1236,有向图添加多少条边变成强连通图POJ 3249 - Test for Job(基础)/JudgeOnline/problem?id=3249解法:bfs / dfs + dpPOJ 3592 - Instantaneous Transference(基础)/JudgeOnline/problem?id=3592解法:缩点,最长路,少人做的水题,注意细节POJ 3687 - Labeling Balls(中等)/JudgeOnline/problem?id=3687解法:拓扑排序POJ 3694 - Network(中等)/JudgeOnline/problem?id=3694解法:双连通分量+并查集2-SAT问题此类问题理解合取式的含义就不难POJ 2723 - Get Luffy Out(中等)/JudgeOnline/problem?id=2723POJ 2749 - Building roads(较难)/JudgeOnline/problem?id=2749解法:二分+ 2-SAT判定POJ 3207 - Ikki's Story IV - Panda's Trick(基础)/JudgeOnline/problem?id=3207解法:简单的2-sat,不过其他方法更快POJ 3648- Wedding(中等)/JudgeOnline/problem?id=3648解法:用2-sat做会比较有意思,但是暴搜照样0msPOJ 3678 - Katu Puzzle(基础)/JudgeOnline/problem?id=3678解法:直接按合取式构图验证就行了POJ 3683 - Priest John's Busiest Day(中等)/JudgeOnline/problem?id=3683解法:n^2枚举点之间的相容性构图,求解2-SAT最大流问题变形很多,最小割最大流定理的理解是关键POJ 1149 - PIGS(较难)/JudgeOnline/problem?id=1149绝对经典的构图题POJ 1273 - Drainage Ditches(基础)/JudgeOnline/problem?id=1273最大流入门POJ 1459 - Power Network(基础)/JudgeOnline/problem?id=1459基本构图POJ 1637 - Sightseeing tour(Crazy)/JudgeOnline/problem?id=1637题意:求混合图的欧拉迹是否存在解法:无向边任意定向,构图,详建黑书P324POJ 1815 - Friendship(中等)/JudgeOnline/problem?id=1815题意:求最小点割解法:拆点转换为边割相关:/zfy0701/blog/item/a521f230b06dea9fa9018e0e.html POJ 1966 - Cable TV Network(中等)/JudgeOnline/problem?id=1966题意:去掉多少点让图不连通解法:任定一源点,枚举汇点求点割集(转换到求边割),求其中最小的点割POJ 2112 - Optimal Milking(基础)/JudgeOnline/problem?id=2112二分枚举,最大流POJ 2391 - Ombrophobic Bovines(中等)/JudgeOnline/problem?id=2391题意:floyd, 拆点,二分枚举相关:/zfy0701/blog/item/3e0006c4f73f0eaf8226acff.htmlPOJ 2396 - Budget(中等)/JudgeOnline/problem?id=2396题意:有源汇的上下界可行流解法:用矩阵-网络流模型构图,然后拆边相关:/zfy0701/blog/item/6449d82a64e15e3e5343c1ba.html ,最小割模型在竞赛中的应用POJ 2455 - Secret Milking Machine(基础)/JudgeOnline/problem?id=2455二分枚举,一般来说需要写对边容量的更新操作而不是每次全部重新构图POJ 2699 - The Maximum Number of Strong Kings(较难)/JudgeOnline/problem?id=2699解法:枚举人数+ 最大流(感谢xpcnq_71大牛的建图的提示)POJ 2987 - Firing(较难)/JudgeOnline/problem?id=2987题意:最大权闭包解法:先边权放大,第一问总量-最大流,第二问求最小割相关:/blog/cns!4D861A02A3382142!1109.entry?&_c02_o wner=1Profit(中等)/Problem_Show.asp?id=1352最大权闭包图的特殊情况ZOJ 2071 - Technology Trader 也是此类型,懒了没做/show_problem.php?pid=2071POJ 3084 - Panic Room(中等,好题)/JudgeOnline/problem?id=3084题意:略解法:根据最小割建模POJ 3155 - Hard Life(很挑战一题)/JudgeOnline/problem?id=3155题意:最大密度子图解法:参数搜索+ 最大权闭合图,A.V.Goldberg的论文(nb解法)最小割模型在信息学竞赛中的应用一文中也有讲POJ 3189 - Steady Cow Assignment(中等)/JudgeOnline/problem?id=3189题意:寻找最小的区间完成匹配解法:这题充分说明SAP的强大,纯暴力可过。

poj刷题专题训练3

poj刷题专题训练3

(一):用的比较多的初期:一.基本算法:(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>利用区间dp2.背包类问题<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>构造树的最小环(二):麻烦题:1697, 1712, 1713, 1720, 1729, 1765, 1772, 1858, 1872, 1960, 1963, 2050, 2122, 2162, 22 19, 2237,简单题目:1000, 1003, 1004, 1005, 1007, 1046, 1207, 1226, 1401, 1504, 1552, 1607, 1657, 1658, 16 74, 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, 2 413, 2419,推荐:1063, 1064, 1131, 1140, 1715, 2163,杂题:1014, 1218, 1316, 1455, 1517, 1547, 1580, 1604, 1663, 1678, 1749, 1804, 2013, 2014, 20 56, 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, 17 05, 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,搜索1676,1376,@3009,容易:1128, 1166, @1176, 1231, 1256, @1270, 1321, @1543, 1606, @1664, 1731, 1742, @174 5, 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, 17 71, 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, 19 36, 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, 18 50, 1920, 1934, 1937, 1964, 2039, 2138, 2151, 2161, 2178,推荐:1015, 1635, 1636, 1671, 1682, 1692, 1704, 1717, 1722, 1726, 1732, 1770, 1821, 1853, 19 49, 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, 23 87, 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, 19 70, 2317, 2325, 2390,不易:1012, 1082, 1099, 1114, 1642, 1677, 1684, 1886,数学容易:@1061, @1091, @1142, 1289, @1305, @1306, 1320, @1565, @1665, 1666, @1730, @18 94, @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,(三):1、排序1423, 1694, 1723, 1727, 1763, 1788, 1828, 1838, 1840, 2201, 2376, 2377, 2380, 1318, 18 77, 1928, 1971, 1974, 1990, 2001, 2002, 2092, 2379, 1002(需要字符处理,排序用快排即可)1007(稳定的排序)2159(题意较难懂)2231 2371(简单排序)2388(顺序统计算法)2418(二叉排序树)2、搜索、回溯、遍历1022 1111 1118 1129 1190 1562 1564 1573 1655 2184 2225 2243 2312 2362 2378 2386 1010,1011,1018,1020,1054,1062,1256,1321,1363,1501,1650,1659,1664,1753,2078,2083,2303,2 310,2329简单:1128, 1166, 1176, 1231, 1256, 1270, 1321, 1543, 1606, 1664, 1731, 1742, 1745, 18 47, 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, 17 53, 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(剪枝要求较高),165 0 (小数的精度问题)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, 22 74,1125(弗洛伊德算法) ,2421(图的最小生成树)6、动态规划1037、1050、1088、1125、1141、1159、1160、1163、1458、1579 、1887 、1953 、2386 7、贪心1042, 1065, 1230, 1323, 1477, 1716, 1784,1328 1755(或用单纯形方法),2054,1017,1328,1862,1922 ,2209,2313,2325,2370。

poj ACM题目分类

poj ACM题目分类

简单题1000A+B Problem1001Exponentiation1003 Hangover1004 Financial Management1005 I Think I Need a Houseboat1005 Biorhythms1007 DNA Sorting1013 Counterfeit Dollar1014 Dividing1032 Parliament1045 Bode Plot1119 Start Up the Startup1131 Octal Fractions1142 Smith Numbers1151 Atlantis1152 An Easy Problem!1188 Gleaming the Cubes1207 The 3n + 1 problem1218 the drunk jailer1220 number base conversion1242 Plugged In1256 Anagram1308 Is It A Tree?1316 Self Numbers1318 Word Amalgamation1338 Ugly Numbers1406 A Starship Hakodate-maru1411 Calling Extraterrestrial Intelligence Again 1451 T91455 Crazy tea party1468 Rectangles1477 Box of Bricks1491 Pi1517 u Calculate e1519 Digital Roots1528 Perfection1547 Clay Bully1552 Doubles1564 Sum It Up1579 Function Run Fun1595 Prime Cuts1597 Uniform Generator1658 Eva's Problem1663 Number Steps1664 放苹果1665 Biker's Trip Odometer1730 Perfect Pth Powers1731 Orders1775 Sum of Factorials1828 Monkeys' Pride1833 排列1856 Sea Battle1906 Three powers1920 Ride to School1929 Calories from Fat1936 All in All1942 Paths on a Grid1951 Extra Krunch1953 World Cup Noise1959 Darts1965 Cube Root1969 Count on Canton1970 The Game1979 Red and Black1992 Jack1993 Caleidoscope1995 Raising Modulo Numbers1996 The Highest Profits1998 Lloyd Fifteen Puzzle2000 Gold Coins2013 Symmetric Order2017 Speed Limit2021 Relative Relatives2027 No Brainer2038 Team Rankings2042 Lagrange's Four-Square Theorem2059 Watchdog2060 Taxi Cab Scheme2062Card Game Cheater2070 Filling Out the Team2105 IP Address2126 Factoring a Polynomial2128 Highways2136 Vertical Histogram2183 Bovine Math Geniuses2209 The King2273 An Excel-lent Problem2275 Flipping Pancake2276 Model Rocket Height2291 Rotten Ropes2299 Ultra-QuickSort2316 SPIN2323 PERMS2325 Persistent Numbers2402 Palindrome Numbers搜索题1011 Sticks1419 Graph Coloring1683 Puzzlestan 1889 Package Pricing1980 Unit Fraction Partition2147 Dice Puzzle模拟题1012 Joseph1099 Square Ice1115 Statistical Trouble1598 Excuses, Excuses!1666 Candy Sharing Game1668 Taxation With Representation Overdone 1676 What time is it?1677 Girls' Day1680 Fork() Makes Trouble1684 Dynamic Declaration Language (DDL)1690 (Your)((Term)((Project)))1748 Computer Dialogue1749 Lock Manager1750 Dictionary1760 Disk Tree1768 Hang or not to hang1880 Variable Radix Huffman Encoding1885 Uncompress1886 Borrowers1888 Crossword Answers1910 Adam's Genes1919 Ship Journey1939 Diplomatic License1940 Polygon Programming with Ease1955 Rubik's Cube1960 Time Planner1978 Hanafuda Shuffle2014 Flow Layout2022 Syntax Included2023 Choose Your Own Adventure2039 To and Fro2050 Searching the Web2051 Argus2078 Matrix2081 Recaman's Sequence2106 Boolean Expressions2159 Ancient Cipher2162 Document Indexing2174 Decoding Task2219 Manifest Destiny2317 SHAKE2319 COMPRESS2324 Intellectual Property2326 Major Scales2334 Simple prefix compression 2338 Basic2341 Spell checker动态规划1015 Jury Compromise1018 Communication System1038 Bugs Integrated, Inc.1085 Triangle War1088 滑雪1159 Palindrome1163 The Triangle1171 Letter Game1185炮兵阵地1187 陨石的秘密1191 棋盘分割1229 Wild Domains1239 Increasing Sequences1243 One Person1402 The Game of Master-Mind1417 True Liars1426 Find The Multiple1458 Common Subsequence1508 Skyscraper Floors1580 String Matching1608 Banal Tickets1678 I Love this Game!1682 Clans on the Three Gorges1691 Painting A Board1692 Crossed Matchings1694 An Old Stone Game1695 Magazine Delivery1701 Dissatisfying Lift1717 Dominoes1722 SUBTRACT1732 Phone numbers1733 Parity game1742 Coins1744 Elevator Stopping Plan1745 Divisibility1752 Advertisement1754 Buffer Manager1758 Frontier1769 Minimizing maximizer1770 Special Experiment1777 Vivian's Problem1829 火力防御网1836 Alignment1837 Balance1838 Banana1839 Cattle1840 Eqs1844 Sum1848 Tree1849 Two1874 Trade on Verweggistan1887 Testing the CATCHER1890 Switching Channels1933 A Brief Gerrymander1934 Trip1938 California Jones and the Gate to Freedom1943 Hall of Fountains1946 Cow Cycling1947 Rebuilding Roads1948 Triangular Pastures1949 Chores1950 Dessert1952 buy low, buy lower1958 Strange Towers of Hanoi1973 Software Company1976 A Mini Locomotive1984 Navigation Nightmare1985 Cow Marathon1986 Distance Queries1991 Turning in Homework2004 Mix and Build2018 Best Cow Fences2019 Cornfields2057 The Lost House2082 Terrible Sets2111 Millenium Leapcow2127 Greatest Common Increasing Subsequence2133 Cow Imposters2138 Travel Games2146 Confusing Login Names2161 Chandelier2163 Easy Trading2168 Joke with Turtles2176 Folding2178 Heroes Of Might And Magic2182 Lost Cows2188 Cow Laundry2189 Romeo Meets Juliet2204 Commuter train2237 Can 1 Marine win 2 Zerglings? 2238 Computer Basketball Game2283 Different Digits2292 Optimal Keypad2300 Up the Ante2303 Russian Dolls2322 PLANKS2329 Nearest number - 22332 One is good, but two is better2355 Railway tickets2364 Faucet Flow2422 The Wolves and the Sheep2430 Lazy Cows计算几何1031 Fence1039 Pipe1066 Treasure Hunt 1266 Cover an Arc.1271 Nice Milk1556 The Doors 1654 Area1673 EXOCENTEROF A TRIANGLE1675 Happy Birthday!1687 Buggy Sat1688 Dolphin Pool1696 Space Ant 1755 Triathlon1931 Biometrics1937 Balanced Food1971 Parallelogram Counting1981 Circle and Points2007 Scrambled Polygon 2008 Moo University - Team Tryouts2010 Moo University - Financial Aid2026 As the Crow Flies2074 Line of Sight2164 Find the Border2333 Beach cut2365 Rope2416 Return of the Jedi递推1037 A decorative fence1050 To the Max1074 Parallel Expectations 1090 Chain1147 Binary codes1153 SAFE1205 Water Treatment Plants1309 Coconuts, Revisited1671 Rhyme Schemes 1832 连环锁1850 Code2084 Game of Connections 2096 Collecting Bugs数学题1061 青蛙的约会1067 取石子游戏1145 Tree Summing1146 ID Codes1166 The Clocks1183 反正切函数的应用1286 Necklace of Beads1322 Chocolate1363 Rails1401 Factorial1423 Big Number1430 Binary Stirling Numbers1433 Exchanges1507 Commedia dell' arte1604 Just the Facts1633 Gladiators1662 CoIns1674 Sorting by Swapping1693 Counting Rectangles1702 Eva's Balance1711 Puncher1721 CARDS1728 A flea on a chessboard1737 Connected Graph1753 Flip Game1757 Binary Search1759 Garland1767 Which is Next1788 Building a New Depot1799 Yeehaa!1830 开关问题1845 Sumdiv1846 System1859 The Perfect Symmetry1870 Bee Breeding1879 Tempus et mobilius Time and motion 1990 MooFest2085 Inversion2100 Graveyard Design2101 Honey and Milk Land2115 C Looooops2116 Death to Binary?2154 Color2158 A Difficult Mathematics Problem2305 Basic remains2345 Central heating2356 Find a multiple2407 Relatives2409 Let it Bead2417 Discrete Logging2420 A Star not a Tree?图论1062 昂贵的聘礼1276 Cash Machine1292 Will Indiana Jones Get There?1378 Power Cable Problem1635 Subway tree systems1637 Sightseeing tour1685 Color Tunnels1689 3002 Rubbery1697 The Erythea Campaign1724 ROADS1729 Jack and Jill1734 Sightseeing trip1751 Highways1756 Domino Puzzle1761 Easy Task1797 Heavy Transportation1847 Tram1860 Currency Exchange1878 Jill's Bike1904 King's Quest1932 XYZZY1935 Journey1975 Median Weight Bead2110 Mountain Walking2135 Farm Tour2169 Kingdom of Magic2186 Popular Cows2202 Strange Graph2230 Watchcow2233 Game again!2236 Wireless Network2267 From Dusk till Dawn or: Vladimir the Vampire2337 Catenyms2357 Labyrinth2187 Til the Cows Come Home生成树1258 Agri-Net1639 Picnic Planning1679 The Unique MST1841 Meadow网络流1459 Power Network2125 Destroying The Graph2239 Selecting Courses 2226 Muddy Fields2289 Jamie's Contact Groups数据结构1182 食物链1442 Black Box1703 Find them, Catch them 1765 November Rain1823 Hotel1961 Period1988 Cube Stacking2104 K-th Number2123 Key Insertion2166 Heapsort2185 Milking Grid2201 Cartesian Tree 2383 Circle Drawing2388 Who's in the Middle2406 Power Strings贪心1456 Supermarket1700 Crossing River1716 Integer Intervals1727 Advanced Causal Measurements (ACM)1771 Elevator Stopping Plan1818 ATP1826 The Best Farm1827 A Bunch Of Monsters1842 Parking1862 Stripies1873 The Fortified Forest1967 Alibaba1974 The Happy Worm2054 Color a Tree2232 New Stone-Forfex-Cloth Game 2313 Sequence2376 Cleaning Shifts2431 Expedition构造1672 Fully Diversified Sequences of Sets1747 Expression1776 Task Sequences 1831 不定方程组1898 Entropy枚举1681 Painter's Problem1868 Antiarithmetic?特殊问题特殊对待1669 It's Logical1686 Lazy Math Instructor1863 Subnumber1920 Towers of Hanoi1930 Dead Fraction1941 The Sierpinski Fractal 1944 Fiber Communications9164 City Game1982Water Tank1983 Name the Crossing1989 The Cow Lineup2045 Molecular Formula2058 Word Encoding2061 Pseudo-random Numbers2083 Fractal2277 Model Rocket Height2328 Guessing Game博弈1704 Georgia and Bob1740 A New Stone Game2234 Matches Game 2425 A Chess Game。

poj上的几个经典题目

poj上的几个经典题目

相等,有的不等,所以访问标记要重设 { Make(sb, false); } sb = e[sb].next; } if (sb == NIL) return false; sa = e[sa].next; } return true; } void solve() { now = -1; len = strlen(s); idx = 0; ra = ++now; // e[ra].left = e[rb].next = NIL; // e[ra].visit = false; build(e[ra].left, s); GetSum(ra); // len = strlen(t); idx = 0; rb = ++now; // e[rb].left = e[rb].next = NIL; // e[rb].visit = false; build(e[rb].left, t); GetSum(rb); if (Same(ra, rb)) { printf("same\n"); } else { printf("different\n"); } } int main() { int T; scanf("%d", &T);
p = e[p].next; } return e[n].num; } bool cmp(int a, int b) { return e[a].num > e[b].num; } void Make(int n, bool flag) { if (n == NIL) return; int p = e[n].left; while(p != NIL) { Make(p, flag); p = e[p].next; } e[n].visit = flag; } bool Same(int a, int b) { if (e[a].num != e[b].num) return false; if (a == NIL && b == NIL) return true; if (a == NIL || b == NIL) return false; int sa, sb; sa = e[a].left; while(sa != NIL) { sb = e[b].left; while(sb != NIL) { if(!e[sb].visit && Same(sa, sb)) { e[sb].visit = true; break; } else if(!e[sb].visit) //这个说明了有调用 Same(sa, sb) 但是他们底下有的子树

POJ 题目整理

POJ 题目整理

初期:一.基本算法:(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>利用区间dp2.背包类问题<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>构造树的最小环转一个搞ACM需要的掌握的算法.要注意,ACM的竞赛性强,因此自己应该和自己的实际应用联系起来.适合自己的才是好的,有的人不适合搞算法,喜欢系统架构,因此不要看到别人什么就眼红, 发挥自己的长处,这才是重要的.第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来.1.最短路(Floyd、Dijstra,BellmanFord)2.最小生成树(先写个prim,kruscal要用并查集,不好写)3.大数(高精度)加减乘除4.二分查找. (代码可在五行以内)5.叉乘、判线段相交、然后写个凸包.6.BFS、DFS,同时熟练hash表(要熟,要灵活,代码要简)7.数学上的有:辗转相除(两行内),线段交点、多角形面积公式.8. 调用系统的qsort, 技巧很多,慢慢掌握.9. 任意进制间的转换第二阶段:练习复杂一点,但也较常用的算法。

POJ经典算法题

POJ经典算法题

共一行,包含一个整数,即神秘数。 Sample Input
1 1 1 2 Sample Output
8 import java.util.*; public class Main { static int s[][][][]=new int[31][11][11][11]; static int get( int d, int l1, int l2, int l3 ) { int t, j, k, i, h; if( l1 == 0 && l2 == 0 && l3 == 0 && d >= 0 ) return 1; if( d <= 0 ) return 0; if( ( t = s[d][l1][l2][l3] ) >= 0 ) return t;
t = 0; if( d == 1 ) { if( l1!=0 ) t += get( d, l1-1, l2, l3 ); if( l2!=0 ) t += get( d, l1, l2-1, l3 ); if( l3!=0 ) t += get( d, l1, l2, l3-1 ); t %= 11380; s[d][l1][l2][l3] = return t ; } for( i=0; i<=l1-1; i++ ) for( j=0; j<=l2; j++ ) for( k=0; k<=l3; k++ ) { t += ( get( d-1, i, j, k ) * get( d, l1-1-i, l2-j, l3-k ) ); if( t > ( 1 << 30 ) ) t %= 11380; } for( j=0; j<=l2-1; j++ ) for( k=0; k<=l3; k++ ) { t += ( get( d-1, 0, j, k ) * get( d, l1, l2-1-j, l3-k ) ); if( t > ( 1 << 30 ) ) t %= 11380; } for( k=0; k<=l3-1; k++ ) { t += ( get( d-1, 0, 0, k ) * get( d, l1, l2, l3-1-k ) ); if( t > ( 1 << 30 ) ) t %= 11380; } t %= 11380; s[d][l1][l2][l3] = t; return t; } public static void main(String[] args){ Scanner in = new Scanner(System.in); int d, l1, l2, l3, i, j, k, l; t;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

POJ推荐50题第一类动态规划(至少6题,2479 和2593 必做)2479 和2593 1015 1042(可贪心)1141 1050 1080 1221 1260 2411(稍难)1276 第二类搜索(至少4题)1011 1033 1129 2049 2056 2488 2492(稍难,也可并查集)第三类贪心(至少2题)1065 2054(难)1521 2709第四类最短路(至少3题)1062 1125 1797 2253 2679 Bellman-Ford (难)第五类最小生成树(至少2题, 而且Prim 和Kruskal 至少各用一次)1251 1258 1789 2485第六类最大流(至少2题)1087 1459 1149 2516 (最小费用最大流) (难)第七类二分图(至少3题)1325 1469 2195 (KM 算法或最小费用最大流) (难) 2446 1422 and 2594第八类并查集(至少2题)1861 1182 (难) 1308 2524第九类快速查找(B-Search, Hash and so on) (至少3题)2503 2513 (+Euler回路的判定) 1035 1200 2002第十类数论(至少2题)1061 1142 2262 2407 1811(难) 2447 (难)第十一类线段树(无最少题数要求)2352 (可用简单方法) 2528第十二类计算几何(至少2题,1113凸包算法必做)1113 1292 2148 (难) 2653 1584第十三类高精度(至少3题,1001必做)1001 1047 1131 1503 1504 1060 and 1996 (多项式) SCU1002, 1003, 1004(/soj)第十四类模拟(至少5题)1029 and 1013 1083 and 2028 2234 and 1067 1012 1026 1068 1120 2271 2632第十五类数学(至少4题)2249 1023 2506 1079 1019 and 1095 1905 and 1064 (二分)说明:递推算动归,离散化算数据结构,并查集算数据结构,博弈算动归,麻烦题一般都是不错的综合题,最短路算图论,数据的有序化算排序麻烦题: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, 1 456, 1458, 1609, 1644, 1664, 1690, 1699, 1740, 1742, 1887, 1926, 1936, 1952, 1953, 1958, 1 959, 1962, 1975, 1989, 2018, 2029, 2033, 2063, 2081, 2082, 2181, 2184, 2192, 2231, 2279, 2 329, 2336, 2346, 2353, 2355, 2356, 2385, 2392, 2424,不易:1019, 1037, 1080, 1112, 1141, 1170, 1192, 1239, 1655, 1695, 1707, 1733, 1737, 1837, 1850, 1 920, 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已完成题目小结数据结构(包括最短路,最小生成树等):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动态规划: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简单、模拟题: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、博弈类1067 取石子游戏、1740 A New Stone Game、2234 Matches Game、1082 Calendar Game 、2348 Euclid\'s Game、2413 How many Fibs?、2419 Forests初等数学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 反正切函数的应用、图论及组合数学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 Land2028 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、---------------------------------------------------------------------------------------------------------------------------题目分类排序 1002(需要字符处理,排序用快排即可) 1007(稳定的排序) 2159(题意较难懂) 2231 2371(简单排序) 2388(顺序统计算法) 2418(二叉排序树)回溯搜索:1979(和迷宫类似) 1980(对剪枝要求较高)数学计算简单(或不值得做的题):1003 1004 1005 1068 1326 1656 1657 1658 1663 1922 1978 2000 2013 2014 2017 2070 210 1 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北大ACM题分类主流算法:1.搜索//回溯2.DP(动态规划)3.贪心4.图论//Dijkstra、最小生成树、网络流5.数论//解模线性方程6.计算几何//凸壳、同等安置矩形的并的面积与周长7.组合数学//Polya定理8.模拟9.数据结构//并查集、堆10.博弈论11、CD有正气法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(题意较难懂)2231 2371(简单排序)2388(顺序统计算法)2418(二叉排序树)2、搜索、回溯、遍历1022 1111d 1118 1129 1190 1562 1564 1573 1655 2184 2225 2243 2312 2362 2378 2386 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(剪枝要求较高),1650 (小数的精度问题)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 Counting7、贪心1042, 1065, 1230, 1323, 1477, 1716, 1784,1328 1755(或用单纯形方法),2054,1017,1328,1862,1922 ,2054,2209,2313,2325,2370。

相关文档
最新文档