POJ 动态规划题目列表

合集下载

poj动态规划DP2018BestCowFences-电脑资料

poj动态规划DP2018BestCowFences-电脑资料

poj动态规划DP2018BestCowFences-电脑资料这道题目我一开始的思路是用二维DP,结果TLE了,。

后来换了个思路,终于AC了。

不需要判断所有的情况,我们用dp[i]表示前i个牛圈中最大的牛数,而这个i首先必须>=限制的牛圈树f。

用num[i]表示dp[i]中包含了多少牛圈。

我们可以知道,dp[i] = sum[i] - sum[i-f])/f or dp[i-1] + data[i],前一个代表到i为止前f个牛圈的牛数,后一个代表前i-1个牛圈中最大牛数+第i个牛圈中的牛数。

其实也就是到i为止前num[i-1]+1个牛圈的牛数。

而判断取哪个的条件是判断(sum[i] - sum[i-f]))/f和dp[i-1] + data[i]/(num[i-1]+1)的大小。

#include<stdio.h>#include#define max(x,y)(x>y?x:y)#define MAX 100002double dp[MAX],data[MAX],num[MAX],sum[MAX];int main(){int i,n,f;double maxval;scanf("%d %d",&n,&f);for(i=1;i<=n;i++) {scanf("%lf",&data[i]);sum[i] = data[i] +sum[i-1];num[i] = f;}dp[f] = sum[f];maxval = dp[f]*1000/f;for(i=f+1;i<=n;i++){if ((sum[i] - sum[i-f])/f > (dp[i-1] + data[i])/ (num[i-1] +1)){dp[i] = sum[i] - sum[i-f];num[i] = f;}else{dp[i] = dp[i-1] + data[i];num[i] = num[i-1] +1;}maxval = max(maxval,dp[i]*1000/num[i]);}printf("%d\",(int)(maxval));}</st dio.h>。

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题目分类

1000 A+B Problem 送分题1001 Exponentiation 高精度1003 Hangover 送分题1004 Financial Management 送分题1005 I Think I Need a Houseboat 几何1006 Biorhythms 送分题1007 DNA Sorting 送分题1008 Maya Calendar 日期处理1010 STAMPS 搜索+DP1011 Sticks 搜索1012 Joseph 模拟/数学方法1014 Dividing 数论/DP?/组合数学->母函数?1015 Jury Compromise DP1016 Numbers That Count 送分题1017 Packets 贪心1018 Communication System 贪心1019 Number Sequence 送分题1020 Anniversary Cake 搜索1023 The Fun Number System 数论1025 Department 模拟1026 Cipher 组合数学1027 The Same Game 模拟1028 Web Navigation 送分题1031 Fence 计算几何1034 The dog task 计算几何1037 A decorative fence DP/组合数学1039 Pipe 几何1042 Gone Fishing 贪心/DP1045 Bode Plot 送分题(用物理知识)1046 Color Me Less 送分题1047 Round and Round We Go 高精度1048 Follow My Logic 模拟1049 Microprocessor Simulation 模拟1050 To the Max DP1053 Set Me 送分题1054 The Troublesome Frog 搜索1060 Modular multiplication of polynomials 高精度1061 青蛙的约会数论1062 昂贵的聘礼DP1064 Cable master DP/二分查找1065 Wooden Sticks DP1067 取石子游戏博弈论1068 Parencodings 送分题1069 The Bermuda Triangle 搜索1070 Deformed Wheel 几何1071 Illusive Chase 送分题1072 Puzzle Out 搜索1073 The Willy Memorial Program 模拟1074 Parallel Expectations DP1075 University Entrance Examination 模拟1080 Human Gene Functions DP->LCS变形1082 Calendar Game 博弈论1084 Square Destroyer 搜索?1085 Triangle War 博弈论1086 Unscrambling Images 模拟?1087 A Plug for UNIX 图论->最大流1088 滑雪DFS/DP1090 Chain ->格雷码和二进制码的转换1091 跳蚤数论1092 Farmland 几何1093 Formatting Text DP1094 Sorting It All Out 图论->拓扑排序1095 Trees Made to Order 组合数学1096 Space Station Shielding 送分题1097 Roads Scholar 图论1098 Robots 模拟1099 Square Ice 送分题1100 Dreisam Equations 搜索1101 The Game 搜索->BFS1102 LC-Display 送分题1103 Maze 模拟1104 Robbery 递推1106 Transmitters 几何1107 W's Cipher 送分题1110 Double Vision 搜索1111 Image Perimeters 搜索1112 Team Them Up! DP1113 Wall 计算几何->convex hull1119 Start Up the Startup 送分题1120 A New Growth Industry 模拟1122 FDNY to the Rescue! 图论->Dijkstra 1125 Stockbroker Grapevine 图论->Dijkstra 1128 Frame Stacking 搜索1129 Channel Allocation 搜索(图的最大独立集)1131 Octal Fractions 高精度1135 Domino Effect 图论->Dijkstra1137 The New Villa 搜索->BFS1141 Brackets Sequence DP1142 Smith Numbers 搜索1143 Number Game 博弈论1147 Binary codes 构造1148 Utopia Divided 构造1149 PIGS 图论->网络流1151 Atlantis 计算几何->同等安置矩形的并的面积->离散化1152 An Easy Problem! 数论1157 LITTLE SHOP OF FLOWERS DP1158 TRAFFIC LIGHTS 图论->Dijkstra变形1159 Palindrome DP->LCS1160 Post Office DP1161 Walls 图论1162 Building with Blocks 搜索1163 The Triangle DP1170 Shopping Offers DP1177 Picture 计算几何->同等安置矩形的并的周长->线段树1179 Polygon DP1180 Batch Scheduling DP1182 食物链数据结构->并查集1183 反正切函数的应用搜索1184 聪明的打字员搜索1185 炮兵阵地DP->数据压缩1187 陨石的秘密DP(BalkanOI99 Par的拓展)1189 钉子和小球递推?1190 生日蛋糕搜索/DP1191 棋盘分割DP1192 最优连通子集图论->无负权回路的有向图的最长路->BellmanFord 1193 内存分配模拟1194 HIDDEN CODES 搜索+DP1197 Depot 数据结构->Young T ableau1201 Intervals 贪心/图论->最长路->差分约束系统1202 Family 高精度1209 Calendar 日期处理1217 FOUR QUARTERS 递推1218 THE DRUNK JAILER 送分题1233 Street Crossing 搜索->BFS1245 Programmer, Rank Thyself 送分题1247 Magnificent Meatballs 送分题1248 Safecracker 搜索1250 T anning Salon 送分题1251 Jungle Roads 图论->最小生成树1271 Nice Milk 计算几何1273 Drainage Ditches 图论->最大流1274 The Perfect Stall 图论->二分图的最大匹配1275 Cashier Employment 图论->差分约束系统->无负权回路的有向图的最长路->Bellman-Ford1280 Game 递推1281 MANAGER 模拟1286 Necklace of Beads 组合数学->Polya定理1288 Sly Number 数论->解模线性方程组1293 Duty Free Shop DP1298 The Hardest Problem Ever 送分题1316 Self Numbers 递推同Humble Number一样1322 Chocolate 递推/组合数学1323 Game Prediction 贪心1324 Holedox Moving BFS+压缩储存1325 Machine Schedule 图论->二分图的最大匹配1326 Mileage Bank 送分题1327 Moving Object Recognition 模拟?1328 Radar Installation 贪心(差分约束系统的特例)1338 Ugly Numbers 递推(有O(n)算法)1364 King 图论->无负权回路的有向图的最长路->BellmanFord1370 Gossiping (数论->模线性方程有无解的判断)+(图论->DFS)2184 Cow Exhibition DP2190 ISBN 送分题2191 Mersenne Composite Numbers 数论2192 Zipper DP->LCS变形2193 Lenny's Lucky Lotto Lists DP2194 Stacking Cylinders 几何2195 Going Home 图论->二分图的最大权匹配2196 Specialized Four-Digit Numbers 送分题2197 Jill's Tour Paths 图论->2199 Rate of Return 高精度2200 A Card Trick 模拟2210 Metric Time 日期处理2239 Selecting Courses 图论->二分图的最大匹配2243 Knight Moves 搜索->BFS2247 Humble Numbers 递推(最优O(n)算法)2253 Frogger 图论->Dijkstra变形(和1295是一样的)2254 Globetrotter 几何2261 France '98 递推2275 Flipping Pancake 构造2284 That Nice Euler Circuit 计算几何2289 Jamie's Contact Groups 图论->网络流?2291 Rotten Ropes 送分题2292 Optimal Keypad DP2299 Ultra-QuickSort 排序->归并排序2304 Combination Lock 送分题2309 BST 送分题2311 Cutting Game 博弈论2312 Battle City 搜索->BFS2314 POJ language 模拟2315 Football Game 几何2346 Lucky tickets 组合数学2351 Time Zones 时间处理2379 ACM Rank T able 模拟+排序2381 Random Gap 数论2385 Apple Catching DP(像NOI98“免费馅饼”)2388 Who's in the Middle 送分题(排序)2390 Bank Interest 送分题2395 Out of Hay 图论->Dijkstra变形2400 Supervisor, Supervisee 图论->二分图的最大权匹配?2403 Hay Points 送分题2409 Let it Bead 组合数学->Polya定理2416 Return of the Jedi 图论->2417 Discrete Logging 数论2418 Hardwood Species 二分查找2419 Forests 枚举2421 Constructing Roads 图论->最小生成树2423 The Parallel Challenge Ballgame 几何2424 Flo's Restaurant 数据结构->堆2425 A Chess Game 博弈论2426 Remainder BFS2430 Lazy Cows DP->数据压缩1375 Intervals 几何1379 Run Away 计算几何->1380 Equipment Box 几何1383 Labyrinth 图论->树的最长路1394 Railroad 图论->Dijkstra1395 Cog-Wheels 数学->解正系数的线性方程组1408 Fishnet 几何1411 Calling Extraterrestrial Intelligence Again 送分题1430 Binary Stirling Numbers 日期处理1431 Calendar of Maya 模拟1432 Decoding Morse Sequences DP1434 Fill the Cisterns! 计算几何->离散化/1445 Random number 数据结构->碓1447 Ambiguous Dates 日期处理1450 Gridland 图论(本来TSP问题是NP难的,但这个图比较特殊,由现成的构造方法)1458 Common Subsequence DP->LCS1459 Power Network 图论->最大流1462 Random Walk 模拟+解线性方程组1463 Strategic game 贪心1466 Girls and Boys 图论->n/a1469 COURSES 贪心1475 Pushing Boxes DP1476 Always On the Run 搜索->BFS1480 Optimal Programs 搜索->BFS1481 The Die Is Cast 送分题1482 It's not a Bug, It's a Feature! 搜索->BFS1483 Going in Circles on Alpha Centauri 模拟1484 Blowing Fuses 送分题1485 Fast Food DP(似乎就是ioi2000的postoffice)1486 Sorting Slides 图论->拓扑排序1505 Copying Books DP+二分查找1510 Hares and Foxes 数论1512 Keeps Going and Going and ... 模拟1513 Scheduling Lectures DP1514 Metal Cutting 几何1515 Street Directions 图论->把一个无向连通图改造成为有向强连通图1517 u Calculate e 送分题1518 Problem Bee 几何1519 Digital Roots 送分题(位数可能很大)1520 Scramble Sort 排序1547 Clay Bully 送分题1555 Polynomial Showdown 送分题(非常阴险)1563 The Snail 送分题1601 Pizza Anyone? 搜索1604 Just the Facts 送分题1605 Horse Shoe Scoring 几何1606 Jugs 数论/搜索1631 Bridging signals DP+二分查找1632 Vase collection 图论->最大完全图1633 Gladiators DP1634 Who's the boss? 排序1635 Subway tree systems 图论->不同表示法的二叉树判同1637 Sightseeing tour 图论->欧拉回路1638 A number game 博弈论1639 Picnic Planning 图论->1641 Rational Approximation 数论1646 Double Trouble 高精度1654 Area 几何1657 Distance on Chessboard 送分题1658 Eva's Problem 送分题1660 Princess FroG 构造1661 Help Jimmy DP1663 Number Steps 送分题1664 放苹果组合数学->递推1677 Girls' Day 送分题1688 Dolphin Pool 计算几何1690 (Your)((Term)((Project))) 送分题1691 Painting A Board 搜索/DP1692 Crossed Matchings DP1693 Counting Rectangles 几何1694 An Old Stone Game 博弈论?1695 Magazine Delivery 图论->1712 Flying Stars DP1713 Divide et unita 搜索1714 The Cave 搜索/DP1717 Dominoes DP1718 River Crossing DP1719 Shooting Contest 贪心1729 Jack and Jill 图论->1730 Perfect Pth Powers 数论1732 Phone numbers DP1734 Sightseeing trip 图论->Euler回路1738 An old Stone Game 博弈论?1741 Tree 博弈论?1745 Divisibility DP1751 Highways 图论->1752 Advertisement 贪心/图论->差分约束系统1753 Flip Game 搜索->BFS1755 Triathlon 计算几何?1770 Special Experiment 树形DP1771 Elevator Stopping Plan DP1772 New Go Game 构造?1773 Outernet 模拟1774 Fold Paper Strips 几何1775 Sum of Factorials 送分题1776 T ask Sequences DP1777 Vivian's Problem 数论1870 Bee Breeding 送分题1871 Bullet Hole 几何1872 A Dicey Problem BFS1873 The Fortified Forest 几何+回溯1874 Trade on Verweggistan DP1875 Robot 几何1876 The Letter Carrier's Rounds 模拟1877 Flooded! 数据结构->堆1879 Tempus et mobilius Time and motion 模拟+组合数学->Polya定理1882 Stamps 搜索+DP1883 Theseus and the Minotaur 模拟1887 Testing the CATCHER DP1889 Package Pricing DP1893 Monitoring Wheelchair Patients 模拟+几何1915 Knight Moves 搜索->BFS1916 Rat Attack 数据结构->?1936 All in All DP?1946 Cow Cycling DP1947 Rebuilding Roads 二分1985 Cow Marathon 图论->有向无环图的最长路1995 Raising Modulo Numbers 数论->大数的幂求余2049 Finding Nemo 图论->最短路2050 Searching the Web 模拟(需要高效实现)2051 Argus 送分题(最好用堆,不用也可以过)2054 Color a Tree 贪心2061 Pseudo-random Numbers 数论2080 Calendar 日期处理2082 Terrible Sets 分治/2083 Fractal 递归2084 Game of Connections 递推(不必高精度)2105 IP Address 送分题2115 C Looooops 数论->解模线性方程2136 Vertical Histogram 送分题2165 Gunman 计算几何2179 Inlay Cutters 枚举2181 Jumping Cows 递推2182 Lost Cows ->线段树/=============================================1370 Gossiping (数论->模线性方程有无解的判断)+(图论->DFS)1090 Chain ->格雷码和二进制码的转换2182 Lost Cows ->线段树/2426 Remainder BFS1872 A Dicey Problem BFS1324 Holedox Moving BFS+压缩储存1088 滑雪DFS/DP1015 Jury Compromise DP1050 To the Max DP1062 昂贵的聘礼DP1065 Wooden Sticks DP1074 Parallel Expectations DP1093 Formatting Text DP1112 Team Them Up! DP1141 Brackets Sequence DP1157 LITTLE SHOP OF FLOWERS DP1160 Post Office DP1163 The Triangle DP1170 Shopping Offers DP1179 Polygon DP1180 Batch Scheduling DP1191 棋盘分割DP1293 Duty Free Shop DP2184 Cow Exhibition DP2193 Lenny's Lucky Lotto Lists DP2292 Optimal Keypad DP1432 Decoding Morse Sequences DP1475 Pushing Boxes DP1513 Scheduling Lectures DP1633 Gladiators DP1661 Help Jimmy DP1692 Crossed Matchings DP1712 Flying Stars DP1717 Dominoes DP1718 River Crossing DP1732 Phone numbers DP1745 Divisibility DP1771 Elevator Stopping Plan DP1776 T ask Sequences DP1874 Trade on Verweggistan DP1887 Testing the CATCHER DP1889 Package Pricing DP1946 Cow Cycling DP1187 陨石的秘密DP(BalkanOI99 Par的拓展)1485 Fast Food DP(似乎就是ioi2000的postoffice) 2385 Apple Catching DP(像NOI98“免费馅饼”) 1064 Cable master DP/二分查找1037 A decorative fence DP/组合数学1936 All in All DP?1505 Copying Books DP+二分查找1631 Bridging signals DP+二分查找1159 Palindrome DP->LCS1458 Common Subsequence DP->LCS1080 Human Gene Functions DP->LCS变形2192 Zipper DP->LCS变形1185 炮兵阵地DP->数据压缩2430 Lazy Cows DP->数据压缩1067 取石子游戏博弈论1082 Calendar Game 博弈论1085 Triangle War 博弈论1143 Number Game 博弈论2311 Cutting Game 博弈论2425 A Chess Game 博弈论1638 A number game 博弈论1694 An Old Stone Game 博弈论?1738 An old Stone Game 博弈论?1741 Tree 博弈论?2083 Fractal 递归1104 Robbery 递推1217 FOUR QUARTERS 递推1280 Game 递推2261 France '98 递推2181 Jumping Cows 递推1316 Self Numbers 递推同Humble Number一样2084 Game of Connections 递推(不必高精度) 1338 Ugly Numbers 递推(有O(n)算法)2247 Humble Numbers 递推(最优O(n)算法)1322 Chocolate 递推/组合数学1189 钉子和小球递推?1947 Rebuilding Roads 二分2418 Hardwood Species 二分查找2082 Terrible Sets 分治/1001 Exponentiation 高精度1047 Round and Round We Go 高精度1060 Modular multiplication of polynomials 高精度1131 Octal Fractions 高精度1202 Family 高精度2199 Rate of Return 高精度1646 Double Trouble 高精度1147 Binary codes 构造1148 Utopia Divided 构造2275 Flipping Pancake 构造1660 Princess FroG 构造1772 New Go Game 构造?1005 I Think I Need a Houseboat 几何1039 Pipe 几何1070 Deformed Wheel 几何1092 Farmland 几何1106 Transmitters 几何2194 Stacking Cylinders 几何2254 Globetrotter 几何2315 Football Game 几何2423 The Parallel Challenge Ballgame 几何1375 Intervals 几何1380 Equipment Box 几何1408 Fishnet 几何1514 Metal Cutting 几何1518 Problem Bee 几何1605 Horse Shoe Scoring 几何1654 Area 几何1693 Counting Rectangles 几何1774 Fold Paper Strips 几何1871 Bullet Hole 几何1875 Robot 几何1873 The Fortified Forest 几何+回溯1031 Fence 计算几何1034 The dog task 计算几何1271 Nice Milk 计算几何2284 That Nice Euler Circuit 计算几何1688 Dolphin Pool 计算几何2165 Gunman 计算几何1755 Triathlon 计算几何?1379 Run Away 计算几何->1113 Wall 计算几何->convex hull1434 Fill the Cisterns! 计算几何->离散化/1151 Atlantis 计算几何->同等安置矩形的并的面积->离散化1177 Picture 计算几何->同等安置矩形的并的周长->线段树2419 Forests 枚举2179 Inlay Cutters 枚举1025 Department 模拟1027 The Same Game 模拟1048 Follow My Logic 模拟1049 Microprocessor Simulation 模拟1073 The Willy Memorial Program 模拟1075 University Entrance Examination 模拟1098 Robots 模拟1103 Maze 模拟1120 A New Growth Industry 模拟1193 内存分配模拟1281 MANAGER 模拟2200 A Card Trick 模拟2314 POJ language 模拟1431 Calendar of Maya 模拟1483 Going in Circles on Alpha Centauri 模拟1512 Keeps Going and Going and ... 模拟1773 Outernet 模拟1876 The Letter Carrier's Rounds 模拟1883 Theseus and the Minotaur 模拟2050 Searching the Web 模拟(需要高效实现)1012 Joseph 模拟/数学方法1086 Unscrambling Images 模拟?1327 Moving Object Recognition 模拟?1893 Monitoring Wheelchair Patients 模拟+几何1462 Random Walk 模拟+解线性方程组2379 ACM Rank T able 模拟+排序1879 Tempus et mobilius Time and motion 模拟+组合数学->Polya定理1520 Scramble Sort 排序1634 Who's the boss? 排序2299 Ultra-QuickSort 排序->归并排序1008 Maya Calendar 日期处理1209 Calendar 日期处理2210 Metric Time 日期处理1430 Binary Stirling Numbers 日期处理1447 Ambiguous Dates 日期处理2080 Calendar 日期处理2351 Time Zones 时间处理1770 Special Experiment 树形DP1916 Rat Attack 数据结构->?1197 Depot 数据结构->Young T ableau1182 食物链数据结构->并查集2424 Flo's Restaurant 数据结构->堆1877 Flooded! 数据结构->堆1445 Random number 数据结构->碓1023 The Fun Number System 数论1061 青蛙的约会数论1091 跳蚤数论1152 An Easy Problem! 数论2191 Mersenne Composite Numbers 数论2381 Random Gap 数论2417 Discrete Logging 数论1510 Hares and Foxes 数论1641 Rational Approximation 数论1730 Perfect Pth Powers 数论1777 Vivian's Problem 数论2061 Pseudo-random Numbers 数论1014 Dividing 数论/DP?/组合数学->母函数?1606 Jugs 数论/搜索1995 Raising Modulo Numbers 数论->大数的幂求余2115 C Looooops 数论->解模线性方程1288 Sly Number 数论->解模线性方程组1395 Cog-Wheels 数学->解正系数的线性方程组1000 A+B Problem 送分题1003 Hangover 送分题1004 Financial Management 送分题1006 Biorhythms 送分题1007 DNA Sorting 送分题1016 Numbers That Count 送分题1019 Number Sequence 送分题1028 Web Navigation 送分题1046 Color Me Less 送分题1053 Set Me 送分题1068 Parencodings 送分题1071 Illusive Chase 送分题1096 Space Station Shielding 送分题1099 Square Ice 送分题1102 LC-Display 送分题1107 W's Cipher 送分题1119 Start Up the Startup 送分题1218 THE DRUNK JAILER 送分题1245 Programmer, Rank Thyself 送分题1247 Magnificent Meatballs 送分题1250 T anning Salon 送分题1298 The Hardest Problem Ever 送分题1326 Mileage Bank 送分题2190 ISBN 送分题2196 Specialized Four-Digit Numbers 送分题2291 Rotten Ropes 送分题2304 Combination Lock 送分题2309 BST 送分题2390 Bank Interest 送分题2403 Hay Points 送分题1411 Calling Extraterrestrial Intelligence Again 送分题1481 The Die Is Cast 送分题1484 Blowing Fuses 送分题1517 u Calculate e 送分题1547 Clay Bully 送分题1563 The Snail 送分题1604 Just the Facts 送分题1657 Distance on Chessboard 送分题1658 Eva's Problem 送分题1663 Number Steps 送分题1677 Girls' Day 送分题1690 (Your)((Term)((Project))) 送分题1775 Sum of Factorials 送分题1870 Bee Breeding 送分题2105 IP Address 送分题2136 Vertical Histogram 送分题1555 Polynomial Showdown 送分题(非常阴险) 2388 Who's in the Middle 送分题(排序)1519 Digital Roots 送分题(位数可能很大)1045 Bode Plot 送分题(用物理知识)2051 Argus 送分题(最好用堆,不用也可以过) 1011 Sticks 搜索1020 Anniversary Cake 搜索1054 The Troublesome Frog 搜索1069 The Bermuda Triangle 搜索1072 Puzzle Out 搜索1100 Dreisam Equations 搜索1110 Double Vision 搜索1111 Image Perimeters 搜索1128 Frame Stacking 搜索1142 Smith Numbers 搜索1162 Building with Blocks 搜索1183 反正切函数的应用搜索1184 聪明的打字员搜索1248 Safecracker 搜索1601 Pizza Anyone? 搜索1713 Divide et unita 搜索1129 Channel Allocation 搜索(图的最大独立集)1190 生日蛋糕搜索/DP1691 Painting A Board 搜索/DP1714 The Cave 搜索/DP1084 Square Destroyer 搜索?1010 STAMPS 搜索+DP1194 HIDDEN CODES 搜索+DP1882 Stamps 搜索+DP1101 The Game 搜索->BFS1137 The New Villa 搜索->BFS1233 Street Crossing 搜索->BFS2243 Knight Moves 搜索->BFS2312 Battle City 搜索->BFS1476 Always On the Run 搜索->BFS1480 Optimal Programs 搜索->BFS1482 It's not a Bug, It's a Feature! 搜索->BFS 1753 Flip Game 搜索->BFS1915 Knight Moves 搜索->BFS1017 Packets 贪心1018 Communication System 贪心1323 Game Prediction 贪心1463 Strategic game 贪心1469 COURSES 贪心1719 Shooting Contest 贪心2054 Color a Tree 贪心1328 Radar Installation 贪心(差分约束系统的特例)1042 Gone Fishing 贪心/DP1752 Advertisement 贪心/图论->差分约束系统1201 Intervals 贪心/图论->最长路->差分约束系统1097 Roads Scholar 图论1161 Walls 图论1450 Gridland 图论(本来TSP问题是NP难的,但这个图比较特殊,由现成的构造方法)2197 Jill's Tour Paths 图论->2416 Return of the Jedi 图论->1639 Picnic Planning 图论->1695 Magazine Delivery 图论->1729 Jack and Jill 图论->1751 Highways 图论->1122 FDNY to the Rescue! 图论->Dijkstra1125 Stockbroker Grapevine 图论->Dijkstra1135 Domino Effect 图论->Dijkstra1394 Railroad 图论->Dijkstra1158 TRAFFIC LIGHTS 图论->Dijkstra变形2395 Out of Hay 图论->Dijkstra变形2253 Frogger 图论->Dijkstra变形(和1295是一样的)1734 Sightseeing trip 图论->Euler回路1466 Girls and Boys 图论->n/a1515 Street Directions 图论->把一个无向连通图改造成为有向强连通图1635 Subway tree systems 图论->不同表示法的二叉树判同1275 Cashier Employment 图论->差分约束系统->无负权回路的有向图的最长路->Bellman-Ford1274 The Perfect Stall 图论->二分图的最大匹配1325 Machine Schedule 图论->二分图的最大匹配2239 Selecting Courses 图论->二分图的最大匹配2195 Going Home 图论->二分图的最大权匹配2400 Supervisor, Supervisee 图论->二分图的最大权匹配?1637 Sightseeing tour 图论->欧拉回路1383 Labyrinth 图论->树的最长路1094 Sorting It All Out 图论->拓扑排序1486 Sorting Slides 图论->拓扑排序1149 PIGS 图论->网络流2289 Jamie's Contact Groups 图论->网络流?1192 最优连通子集图论->无负权回路的有向图的最长路->BellmanFord 1364 King 图论->无负权回路的有向图的最长路->BellmanFord1985 Cow Marathon 图论->有向无环图的最长路1087 A Plug for UNIX 图论->最大流1273 Drainage Ditches 图论->最大流1459 Power Network 图论->最大流1632 Vase collection 图论->最大完全图2049 Finding Nemo 图论->最短路1251 Jungle Roads 图论->最小生成树2421 Constructing Roads 图论->最小生成树1026 Cipher 组合数学1095 Trees Made to Order 组合数学2346 Lucky tickets 组合数学1286 Necklace of Beads 组合数学->Polya定理2409 Let it Bead 组合数学->Polya定理1664 放苹果组合数学->递推。

POJ多例题版

POJ多例题版

POJ多例题版目录一、数的距离差二、按十一位切换整数至英文单词三、将字符串中的小写字母转换成大写字母四、最长最短单词五、计算绩点六、按要求排序七、计算多项式的值八、计算两个分数的和九、登山十、排序平均年龄十一、数圈十二、摆苹果十三、计算约数的和十四、冒泡排序十五、结构代莱模运算十六、最小最小值十七、最大公约数与最小公倍数十八、计算素数的和十九、任意进制间转换二十、二项式系数二十一、成仙(poj2733)二十二、日历问题(poj2964)二十三、爬楼梯(poj4017)二十四、大整数加法(poj2981)二十五、肿瘤检测(poj2677)二十六、肿瘤面积(poj2713)二十七、不吉利日期(poj2723)二十八、八进制到十进制(poj2735)二十九、分解因数(poj2749)三十、垂直直方图(poj2800)三十一、取石子游戏(poj1067)三十二、分数加减法(poj3979)一.数的距离高给定一组正整数,其中的最大值和最小值分别为max和min,其中的一个数x到max和min的距离差d定义为abs(abs(x-max)-abs(x-min))。

其中,abs()则表示谋一个数的绝对值输出输入第一行为整数n,剩余n行每行一个正整数。

输出输入仅一行,它的值使距离差d最轻的x。

样例输出531759样例输出提示函数abs()定义在stdlib.h中例:(一)#include#include#definen400intmain(){inta[n],d[n];inti,n,max,m,min,d_min;scanf (\for(i=0;id[i]){d_min=d[i];m=a[i];}}printf(\return0;}(二)#include#include#definen500intmain(){inta[n],n,i,m,p,r,s,t;scanf(\for(i=0;ia[i ])}m=a[i];if(ps=abs(abs(a[0]-p)-abs(a[0]-m));t=a[0];for(i=1;ir){s=r;t=a[i];}}printf(\return0;二、按十一位切换整数至英文单词题目叙述请把输入整数的每位数字转换成英文。

北大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>构造树的最小环。

POJ 300题训练计划

POJ 300题训练计划
poj1069,poj3322,poj1475,poj1924,poj2049,poj3426
广搜的状态优化
poj1768,poj1184,poj1872,poj1324,poj2046,poj1482
深搜的优化
poj3131,poj2870,poj2286
动态规划
需要用数据结构优化的动态规划
第6周
数论
poj2635, poj3292,poj1845,poj2115
计算方法
poj3273,poj3258,poj1905,poj3122
计算几何学
几何公式
第2周
叉积和点积的运用
poj2031,poj1039
多边型的简单算法和相关判定
poj1408,poj1584
凸包
poj2187,poj1113
第二阶段中级:
poj2754,poj3378,poj3017
四边形不等式理论、斜率优化
poj1160,poj1180,poj3709
较难的状态DP、插头DP
poj3133,poj1739,poj2411,poj1763
数学
组合数学
第6周
poj2888,poj2154
博奕论
poj3317,poj1085
计算几何学
半平面求交
第3周
poj1699
搜索的技巧和优化
poj3411,poj1724
记忆化搜索
poj3373,poj1691
动态规划
较为复杂的动态规划
第4周
poj1191,poj1054,poj3280,poj2029,poj2948,poj1925,poj3034
记录状态的动态规划
poj3254,poj2411,poj1185

POJ+练习题分类

POJ+练习题分类

POJ+练习题分类POJ 练习题分类目录1.基本输入输出 (1)2.算术逻辑运算 (1)3.循环 (2)4.数组 (3)5.指针 (3)6.排序 (3)7.函数 (3)8.简单计算题 (3)9.进制转换 (4)10.字符串处理 (4)11.时间和日期处理 (5)12.模拟 (5)13.高精度计算 (6)14.枚举 (6)15.递归 (7)16.动态规划 (7)1. 1.基本输入输出1.1 第一个Java程序27282. 2.算术逻辑运算2.1 计算书费26752.2 化验诊断26802.3 最远距离26932.4 最大商26952.5 与7无关的数27012.6 骑车与走路27032.7 跳绳游戏27052.8 求一元二次方程的根2707 2.9 平衡饮食27082.10 细菌繁殖27122.11 求平均年龄27142.12 谁拿了最多奖学金2715 2.13 晶晶赴约会27182.14 陶陶摘苹果27192.15 大象喝水27202.16 学分绩点27222.17 生日相同27242.18 求12以内n的阶乘2729 2.19 鸡兔同笼27502.20 二叉树27562.21 数根27642.22 二叉树27882.23 计算图像方差27892.24 数字求和27962.25 点和正方形的关系2854 2.26 计算邮资28562.27 停车场收费29332.28 试剂配制29362.29 验证“歌德巴赫猜想”31433. 3.循环3.1 整数的个数26763.2 整数的立方和26793.3 求分数序列和26833.4 求阶乘的和26843.5 打印水仙花数26853.6 打印完数26863.7 迭代法解方程26973.8 自整除数26993.9 求出e的值27092732 3.11 菲波那契数列27533.12 牛顿迭代方法28683.13 计算费马数28693.14 能被3除尽的数之和2886 3.15 能被3,5,7整除的数2887 3.16 受限完全平方数2911 3.17 三个完全平方数2912 3.18 求和29403.19 满足条件的整数29413.20 球弹跳高度的计算31424. 4.数组4.1 肿瘤检测26774.2 数组逆序重放26874.3 打印极值点下标26914.4 肿瘤面积27134.5 求矩阵的加法28704.6 异常细胞检测29375. 5.指针5.1 求字符串长度26815.2 循环移动26826. 6.排序6.1 整数奇偶排序28716.2 按顺序输出29386.3 小白鼠排队29436.4 摘花生29507. 7.函数7.1 计算反序数28857.2 矩阵交换行28997.3 字符串排序29157.4 素数回文数的个数29288. 8.简单计算题8.1 装箱问题10178.2 棋盘上的距离16578.3 化验诊断26808.4 平均年龄27148.5 谁拿了最多的奖学金2715 8.6 鸡兔同笼27508.7 简单密码27678.8 数字求和27968.9 垂直直方图28008.10 填词28018.11 两倍28078.12 校门外的树28088.13 密码28189. 9.进制转换9.1 数制转换27109.2 十进制到八进制27349.3 八进制到十进制27359.4 八进制小数27659.5 2进制转化为16进制2798 9.6 确定进制29729.7 skew数297310. 10.字符串处理10.1 统计字符数267810.2 求字母的个数2688 10.3 大小写字母互换2689 10.4 首字母大写269010.5 计算表达式的值269610.6 字符替换270010.7 密码翻译270210.8 竞赛评分270410.9 统计字符数274210.10 字符串判等274310.11 子串274410.12 字符串数组排序问题2752 10.13 简单密码276710.14 最短前缀279710.15 浮点数格式279910.16 词典280410.17 W密码281910.18 古代密码282010.19 句中最长的单词2880 10.20 字符串中的数字2888 10.21 字符串加空格2909 10.22 提取数字291010.23 加密技术291310.24 算术运算292610.25 判断数字个数2927 10.26 扩号匹配292910.27 加减乘除293010.28 比较数字个数2931 10.29 字符串插入293410.30 有未知数的表达式2935 10.31 单词替换294410.32 487-3279 297410.33 Caesar密码297510.34 All in All 297610.35 日志排序299811. 11.时间和日期处理11.1 细菌繁殖271211.2 不吉利的日期2723 11.3 判断闰年273311.4 日历问题296411.5 玛雅历296511.6 时区间时间的转换296611.7 特殊日历计算296712. 12.模拟12.1 排列183312.2 宇航员183512.3 显示器274512.4 约瑟夫问题274612.5 数根276412.6 武林278512.7 垂直直方图280012.8 玩游戏294612.9 花生问题295012.10 循环数295213. 13.高精度计算13.1 麦森数270613.2 求20以内n的阶乘2730 13.3 求10000以内n的阶乘273113.4 大整数减法273613.5 大整数除法273713.6 浮点数加法273813.7 计算对数273913.8 八进制小数276513.9 孙子问题浮点数加法279313.10 计算2的N次方2809 13.11 大整数的因子2925 13.12 浮点数求高精度幂2951 13.13 大整数乘法298013.14 大整数加法298114. 14.枚举14.1 反正切函数的应用1183 14.2 称硬币269214.3 计算对数273914.4 数字方格274714.5 正方形280514.6 完美立方281014.7 熄灯问题281114.8 讨厌的青蛙281214.9 画家问题281314.10 拨钟问题281414.11 生理周期297715. 15.递归15.1 棋盘分割119115.2 棋盘问题132115.3 放苹果166415.4 逆波兰表达式2694 15.5 八皇后问题269815.6 合唱队形271115.7 采药272615.8 数字方格274715.9 全排列274815.10 分解因数274915.11 菲波那契数列2753 15.12 八皇后问题275415.13 二叉树275615.14 文件结构"图"2775 15.15 算24278715.16 迷宫279015.17 小游戏280215.18 碎纸机280315.19 城堡281515.20 红与黑281615.21 木棍问题281716. 16.动态规划16.1 滑雪108816.2 帮助Jimmy 1661 16.3 还是采药问题2727 16.4 采药273316.5 神奇的口袋2755 16.6 最长上升子序列2757 16.7 菲波那契数列(2) 2758 16.8 神奇的口袋(2) 2759 16.9 数字三角形2760 16.10 最大子矩阵2766 16.11 采药277316.12 木材加工2774 16.13 文件结构“图”2775 16.14 Pell 数列2786 16.15 矩形覆盖2791 16.16 集合加法2792 16.17 孙子问题2793 16.18 金银岛279516.19 最长公共子序列2806 16.20 矩形覆盖280916.21 陪审团的人选2979。

poj dp题目列表

poj dp题目列表

[1]POJ 动态规划题目列表容易: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, 2039, 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(最大矩形面积,O(n)算法), 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, 24111015 Jury Compromise1029 False coin1036 Gangsters1037 A decorative fence1038 Bugs Integrated, Inc.1042 Gone Fishing1050 To the Max1062 昂贵的聘礼1074 Parallel Expectations1080 Human Gene Functions1088 滑雪1093 Formatting Text1112 Team Them Up!1141 Brackets Sequence1143 Number Game1157 LITTLE SHOP OF FLOWERS1159 Palindrome1160 Post Office1163 The Triangle1170 Shopping Offers1178 Camelot1179 Polygon1180 Batch Scheduling1185 炮兵阵地1187 陨石的秘密1189 钉子和小球1191 棋盘分割1192 最优连通子集1208 The Blocks Problem1239 Increasing Sequences1240 Pre-Post-erous!1276 Cash Machine1293 Duty Free Shop1322 Chocolate1323 Game Prediction1338 Ugly Numbers1390 Blocks1414 Life Line1432 Decoding Morse Sequences 1456 Supermarket1458 Common Subsequence1475 Pushing Boxes1485 Fast Food1505 Copying Books1513 Scheduling Lectures1579 Function Run Fun1609 Tiling Up Blocks1631 Bridging signals 2分+DP NLOGN 1633 Gladiators1635 Subway tree systems1636 Prison rearrangement1644 To Bet or Not To Bet1649 Market Place1651 Multiplication Puzzle1655 Balancing Act1661 Help Jimmy1664 放苹果1671 Rhyme Schemes1682 Clans on the Three Gorges 1690 (Your)((Term)((Project)))1691 Painting A Board1692 Crossed Matchings1695 Magazine Delivery1699 Best Sequence1704 Georgia and Bob1707 Sum of powers1712 Flying Stars1714 The Cave1717 Dominoes1718 River Crossing1722 SUBTRACT1726 Tango Tango Insurrection 1732 Phone numbers1733 Parity game1737 Connected Graph1740 A New Stone Game1742 Coins P1745 Divisibility1770 Special Experiment1771 Elevator Stopping Plan 1776 Task Sequences1821 Fence1837 Balance1848 Tree1850 Code1853 Cat1874 Trade on Verweggistan 1887 Testing the CATCHER 1889 Package Pricing1920 Towers of Hanoi1926 Pollution1934 Trip1936 All in All1937 Balanced Food1946 Cow Cycling1947 Rebuilding Roads1949 Chores1952 BUY LOW, BUY LOWER 1953 World Cup Noise1958 Strange Towers of Hanoi 1959 Darts1962 Corporative Network 1964 City Game1975 Median Weight Bead 1989 The Cow Lineup2018 Best Cow Fences2019 Cornfields2029 Get Many Persimmon Trees 2033 Alphacode2039 To and Fro2047 Concert Hall Scheduling 2063 Investment2081 Recaman's Sequence 2082 Terrible Sets2084 Game of Connections2127 Greatest Common Increasing Subsequence 2138 Travel Games2151 Check the difficulty of problems2152 Fire2161 Chandelier2176 Folding2178 Heroes Of Might And Magic2181 Jumping Cows2184 Cow Exhibition2192 Zipper2193 Lenny's Lucky Lotto Lists2228 Naptime2231 Moo Volume2279 Mr. Young's Picture Permutations2287 TianJi -- The Horse Racing2288 Islands and Bridges2292 Optimal Keypad2329 Nearest number - 22336 Ferry Loading II2342 Anniversary party2346 Lucky tickets2353 Ministry2355 Railway tickets2356 Find a multiple2374 Fence Obstacle Course2378 Tree Cutting2384 Harder Sokoban Problem2385 Apple Catching2386 Lake Counting2392 Space Elevator2397 Spiderman2411 Mondriaan's Dream2414 Phylogenetic Trees Inherited2424 Flo's Restaurant2430 Lazy Cows2915 Zuma3017 Cut the Sequence3028 Shoot-out3124 The Bookcase3133 Manhattan Wiring3345 Bribing FIPA3375 Network Connection3420 Quad Tiling ?/?cat=5[2]动态规划方法总结1. 按状态类型分写在前面:从状态类型分,并不表示一题只从属于一类。

Poj动态规划

Poj动态规划

[1]POJ 动态规划题目列表容易: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,2039, 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(最大矩形面积,O(n)算法), 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状态DP树DP构造最优解四边形不等式单调队列1015 Jury Compromise1029 False coin1036 Gangsters1037 A decorative fence1038 Bugs Integrated, Inc.1042 Gone Fishing1050 To the Max1062 昂贵的聘礼1074 Parallel Expectations1080 Human Gene Functions1088 滑雪1093 Formatting Text1112 Team Them Up!1141 Brackets Sequence1143 Number Game1157 LITTLE SHOP OF FLOWERS1159 Palindrome1160 Post Office1163 The Triangle1170 Shopping Offers1178 Camelot1179 Polygon1180 Batch Scheduling1185 炮兵阵地1187 陨石的秘密1189 钉子和小球1191 棋盘分割1192 最优连通子集1208 The Blocks Problem1239 Increasing Sequences1240 Pre-Post-erous!1276 Cash Machine1293 Duty Free Shop1322 Chocolate1323 Game Prediction1338 Ugly Numbers1390 Blocks1414 Life Line1432 Decoding Morse Sequences 1456 Supermarket1458 Common Subsequence1475 Pushing Boxes1485 Fast Food1505 Copying Books1513 Scheduling Lectures1579 Function Run Fun1609 Tiling Up Blocks1631 Bridging signals 2分+DP NLOGN 1633 Gladiators1635 Subway tree systems1636 Prison rearrangement1644 To Bet or Not To Bet1649 Market Place1651 Multiplication Puzzle1655 Balancing Act1661 Help Jimmy1664 放苹果1671 Rhyme Schemes1682 Clans on the Three Gorges 1690 (Your)((Term)((Project)))1691 Painting A Board1692 Crossed Matchings 1695 Magazine Delivery 1699 Best Sequence1704 Georgia and Bob1707 Sum of powers1712 Flying Stars1714 The Cave1717 Dominoes1718 River Crossing1722 SUBTRACT1726 Tango Tango Insurrection 1732 Phone numbers1733 Parity game1737 Connected Graph1740 A New Stone Game 1742 Coins P1745 Divisibility1770 Special Experiment 1771 Elevator Stopping Plan 1776 Task Sequences1821 Fence1837 Balance1848 Tree1850 Code1853 Cat1874 Trade on Verweggistan 1887 Testing the CATCHER 1889 Package Pricing1920 Towers of Hanoi1926 Pollution1934 Trip1936 All in All1937 Balanced Food1946 Cow Cycling1947 Rebuilding Roads1949 Chores1952 BUY LOW, BUY LOWER 1953 World Cup Noise1958 Strange Towers of Hanoi 1959 Darts1962 Corporative Network 1964 City Game1975 Median Weight Bead 1989 The Cow Lineup2018 Best Cow Fences2019 Cornfields2029 Get Many Persimmon Trees2033 Alphacode2039 To and Fro2047 Concert Hall Scheduling2063 Investment2081 Recaman's Sequence2082 Terrible Sets2084 Game of Connections2127 Greatest Common Increasing Subsequence 2138 Travel Games2151 Check the difficulty of problems2152 Fire2161 Chandelier2176 Folding2178 Heroes Of Might And Magic2181 Jumping Cows2184 Cow Exhibition2192 Zipper2193 Lenny's Lucky Lotto Lists2228 Naptime2231 Moo Volume2279 Mr. Young's Picture Permutations2287 TianJi -- The Horse Racing2288 Islands and Bridges2292 Optimal Keypad2329 Nearest number - 22336 Ferry Loading II2342 Anniversary party2346 Lucky tickets2353 Ministry2355 Railway tickets2356 Find a multiple2374 Fence Obstacle Course2378 Tree Cutting2384 Harder Sokoban Problem2385 Apple Catching2386 Lake Counting2392 Space Elevator2397 Spiderman2411 Mondriaan's Dream2414 Phylogenetic Trees Inherited2424 Flo's Restaurant2430 Lazy Cows2915 Zuma3017 Cut the Sequence3028 Shoot-out3124 The Bookcase3133 Manhattan Wiring3345 Bribing FIPA3375 Network Connection3420 Quad Tiling ?/?cat=5[2]动态规划方法总结1. 按状态类型分写在前面:从状态类型分,并不表示一题只从属于一类。

动态规划题库

动态规划题库
输入文件包括若干个场景.每个场景的描述由一对整数 n(2<=n<=10)和 k(1<=k<=1000)开 始,音乐家们要在这 n 个城市作巡回演出,城市用 1..n 标号,其中 1 是起点 Flute 市,n 是终 点 Harp 市,接下来有 n*(n-1)份航班表,一份航班表一行,描述每对城市之间的航线和价格, 第一组 n-1 份航班表对应从城市 1 到其他城市(2,3,...n)的航班,接下的 n-1 行是从城市 2 到其他城市(1,3,4...n)的航班,如此下去.
-5-
12. Visit 〖题目描述〗
Canada 境内有自西向东的一系列城市:Halifax,Hamilton,Montelia,Vancouver...,各个城 市之间可能有航班相连,也可能没有,现要求从最西的城市出发,自西向东到达最东的城市, 再返回最西的城市,除最西城市外,其他每个城市只能访问一次,求最多能访问多少个城市.
输入文件:CATCHER.DAT 3 25
-1-
36 23 输出文件:CATCHER.OUT 2 1 3
5、轮船(Ships) 〖题目描述〗 有一个国家被一条何划分为南北两部分,在南岸和北岸总共有 N 个城镇,每一城镇在对岸都 有唯一的友好城镇。任何两个城镇都没有相同的友好城镇。每一对友好城镇都希望有一条航 线来往。于是他们向政府提出了申请。由于河终年有雾。政府决定不允许有任两条航线交叉 (如果两条航线交叉,将有很大机会撞船)。 你的任务是缟写一个程序来帮政府官员决定他们应拨款兴建哪些航线以使到没有出现交叉的 航线最多。 输入数据 输入文件(ship.in)包括了若干组数据,每组数据格式如下: 第一行两个由空格分隔的整数 x,y,10〈=x〈=6000,10〈=y〈=100。x 表示河的长度而 y 表示宽。第二行是一个整数 N(1<=N<=5000),表示分布在河两岸的城镇对数。接下来的 N 行 每行有两个由空格分隔的正数 C,D(C、D〈=x〉,描述每一对友好城镇沿着河岸与西边境线 的距离,C 表示北岸城镇的距离而 D 表示南岸城镇的距离。在河的同一边,任何两个城镇的 位置都是不同的。整个输入文件以由空格分隔的两个 0 结束。 输出数据 输出文件(ship.ou)要在连续的若干行里给出每一组数据在安全条件下能够开通的最大航线数 目。 示例

POJ题目分类推荐

POJ题目分类推荐

【zz】POJ题目分类推荐from zhucheng前面的那个50题估计能做的都差不多了,开始做这个分类吧……发信人: iamlzx (iamlzx), 信区: ACM_ICPC标题: 推荐个比较好的题目分类发信站: BBS 珞珈山水站 (Sat Dec 22 02:02:08 2007)把这三个阶段的题目做完,基本上应付现今的ICPC竞赛没问题了……大家加油!特别是刚开始的同学,推荐按照这个分类做题转贴 ACM的算法(觉得很好,有层次感)OJ上的一些水题(可用来练手和增加自信)(poj3299,poj2159,poj2739,poj1083,poj2262,poj1503,poj3006,poj2255,poj3 094)初期:一.基本算法:(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,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,poj216 5,poj3429)高级:一.基本算法要求:(1)代码快速写成,精简但不失风格(poj2525,poj1684,poj1421,poj1048,poj2050,poj3306)(2)保证正确性和高效性. poj3434二.图算法:(1)度限制最小生成树和第K最短路. (poj1639)(2)最短路,最小生成树,二分图,最大流问题的相关理论(主要是模型建立和求解)(poj3155, poj2112,poj1966,poj3281,poj1087,poj2289,poj3216,po j2446(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,poj1 482)(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,poj214 8,poj1263)※最近更新:Poj斜率优化题目1180,2018,3709列表一:经典题目题号:容易:1018, 1050, 1083, 1088,1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,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, 2039, 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(全部最长公共子序列), 1964(最大矩形面积,O(n*m)算法), 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列表二:完整DP题目列表1015 Jury Compromise 1029 False coin 1036 Gangsters 1037 A decorative fence 1038 Bugs Integrated, Inc. 1042 Gone Fishing 1050 To the Max 1062 昂贵的聘礼1074 Parallel Expectations 1080 Human Gene Functions 1088 滑雪1093 Formatting Text 1112 Team Them Up! 1141 Brackets Sequence 1143 Number Game 1157 LITTLE SHOP OF FLOWERS 1159 Palindrome 1160 Post Office 1163 The Triangle 1170 Shopping Offers 1178 Camelot 1179 Polygon 1180 Batch Scheduling 1185 炮兵阵地1187 陨石的秘密1189 钉子和小球1191 棋盘分割1192 最优连通子集1208 The Blocks Problem 1239 Increasing Sequences 1240 Pre-Post-erous! 1276 Cash Machine 1293 Duty Free Shop 1322 Chocolate 1323 Game Prediction 1338 Ugly Numbers 1390 Blocks 1414 Life Line 1432 Decoding Morse Sequences 1456 Supermarket 1458 Common Subsequence 1475 Pushing Boxes 1485 Fast Food 1505 Copying Books 1513 Scheduling Lectures 1579 Function Run Fun 1609 Tiling Up Blocks 1631 Bridging signals 2分+DP NLOGN 1633 Gladiators 1635 Subway tree systems 1636 Prison rearrangement 1644 To Bet or Not To Bet 1649 Market Place 1651 Multiplication Puzzle 1655 Balancing Act 1661 Help Jimmy 1664 放苹果1671 Rhyme Schemes 1682 Clans on the Three Gorges 1690 (Your)((Term)((Project))) 1691 Painting A Board 1692 Crossed Matchings 1695 Magazine Delivery 1699 Best Sequence 1704 Georgia and Bob 1707 Sum of powers 1712 Flying Stars 1714 The Cave 1717 Dominoes 1718 River Crossing 1722 SUBTRACT 1726 Tango Tango Insurrection 1732 Phone numbers 1733 Parity game 1737 Connected Graph 1740 A New Stone Game 1742 Coins P 1745 Divisibility 1770 Special Experiment 1771 Elevator Stopping Plan 1776 Task Sequences 1821 Fence 1837 Balance 1848 Tree 1850 Code 1853 Cat 1874 Trade on Verweggistan 1887 Testing the CATCHER 1889 Package Pricing 1920 Towers of Hanoi 1926 Pollution 1934 Trip 1936 All in All 1937 Balanced Food 1946 Cow Cycling 1947 Rebuilding Roads 1949 Chores 1952 BUY LOW, BUY LOWER 1953 World Cup Noise 1958 Strange Towers of Hanoi 1959 Darts 1962 Corporative Network 1964 City Game 1975 Median Weight Bead 1989 The Cow Lineup 2018 Best Cow Fences 2019 Cornfields 2029 Get Many Persimmon Trees 2033 Alphacode 2039 To and Fro 2047 Concert Hall Scheduling 2063 Investment 2081 Recaman's Sequence 2082 Terrible Sets 2084 Game of Connections 2127 Greatest Common Increasing Subsequence 2138 Travel Games 2151 Check the difficulty of problems 2152 Fire 2161 Chandelier 2176 Folding 2178 Heroes Of Might And Magic 2181 Jumping Cows 2184 Cow Exhibition 2192 Zipper 2193 Lenny's Lucky Lotto Lists 2228 Naptime 2231 Moo Volume 2279 Mr. Young's Picture Permutations 2287 Tian Ji -- The Horse Racing 2288 Islands and Bridges 2292 Optimal Keypad 2329 Nearest number - 2 2336 Ferry Loading II 2342 Anniversary party 2346 Lucky tickets 2353 Ministry 2355 Railway tickets 2356 Find a multiple 2374 Fence Obstacle Course 2378 Tree Cutting 2384 Harder Sokoban Problem 2385 Apple Catching 2386 Lake Counting 2392 Space Elevator 2397 Spiderman 2411 Mondriaan's Dream 2414 Phylogenetic Trees Inherited 2424 Flo's Restaurant 2430 Lazy Cows 2915 Zuma 3017 Cut the Sequence 3028 Shoot-out 3124 The Bookcase 3133 Manhattan Wiring 3345 Bribing FIPA 3375 Network Connection 3420 Quad Tiling ?。

100个动态规划方程

100个动态规划方程

100个动规方程 1. 资源问题1-----机器分配问题 F[I,j]:=max(f[i-1,k]+w[i,j-k]) 2. 资源问题2------01背包问题 F[I,j]:=max(f[i-1,j-v]+w,f[i-1,j]); 3. 线性动态规划1-----朴素最长非降子序列 F:=max{f[j]+1} 4. 剖分问题1-----石子合并 F[i,j]:=min(f[i,k]+f[k+1,j]+sum[i,j]); 5. 剖分问题2-----多边形剖分 F[I,j]:=min(f[i,k]+f[k,j]+a[k]*a[j]*a); 6. 剖分问题3------乘积最大 f[i,j]:=max(f[k,j-1]*mult[k,i]); 7. 资源问题3-----系统可靠性(完全背包) F[i,j]:=max{f[i-1,j-c*k]*P[I,x]} 8. 贪心的动态规划1-----快餐问题 F[i,j,k]:=max{f[i-1,j',k']+(T-(j-j')*p1-(k-k')*p2) div p3} 9. 贪心的动态规划2----过河 f=min{{f(i-k)} (not stone) {f(i-k)}+1} (stone); +贪心压缩状态 10. 剖分问题4-----多边形-讨论的动态规划 F[i,j]:=max{正正 f[I,k]*f[k+1,j]; 负负 g[I,k]*f[k+1,j]; 正负 g[I,k]*f[k+1,j]; 负正 f[I,k]*g[k+1,j];} g 为min 11. 树型动态规划1-----加分二叉树 (从两侧到根结点模型) F[I,j]:=max{f[I,k-1]*f[k+1,j]+c[k]} 12. 树型动态规划2-----选课 (多叉树转二叉树,自顶向下模型) F[I,j]表示以i 为根节点选j 门功课得到的最大学分 f[i,j]:=max{f[t.l,k]+f[t.r,j-k-1]+c} 13. 计数问题1-----砝码称重 f[f[0]+1]=f[j]+k*w[j]; (1<=i<=n; 1<=j<=f[0]; 1<=k<=a;)14. 递推天地1------核电站问题 f[-1]:=1; f[0]:=1; f:=2*f[i-1]-f[i-1-m] 15. 递推天地2------数的划分 f[i,j]:=f[i-j,j]+f[i-1,j-1]; 16. 最大子矩阵1-----一最大01子矩阵 f[i,j]:=min(f[i-1,j],v[i,j-1],v[i-1,j-1])+1; ans:=maxvalue(f); 17. 判定性问题1-----能否被4整除 g[1,0]:=true; g[1,1]:=false; g[1,2]:=false; g[1,3]:=false; g[i,j]:=g[i-1,k] and ((k+a[i,p]) mod 4 = j) 18. 判定性问题2-----能否被k 整除 f[I,j±n mod k]:=f[i-1,j]; -k<=j<=k; 1<=i<=n 20. 线型动态规划2-----方块消除游戏 f[i,i-1,0]:=0 f[i,j,k]:=max{f[i,j-1,0]+sqr(len(j)+k), f[i,p,k+len[j]]+f[p+1,j-1,0]} ans:=f[1,m,0] 21. 线型动态规划3-----最长公共子串,LCS 问题 f[i,j]={0(i=0)&(j=0); f[i-1,j-1]+1 (i>0,j>0,x=y[j]); max{f[i,j-1]+f[i-1,j]}} (i>0,j>0,x<>y[j]); 22. 最大子矩阵2-----最大带权01子矩阵O(n^2*m) 枚举行的起始,压缩进数列,求最大字段和,遇0则清零 23. 资源问题4-----装箱问题(判定性01背包) f[j]:=(f[j] or f[j-v]);24. 数字三角形1-----朴素の数字三角形 f[i,j]:=max(f[i+1,j]+a[I,j],f[i+1,j+1]+a[i,j]);25. 数字三角形2-----晴天小猪历险记之Hill 同一阶段上暴力动态规划if[i,j]:=min(f[i,j-1],f[I,j+1],f[i-1,j],f[i-1,j-1])+a[i,j] 26. 双向动态规划1数字三角形3 -----小胖办证 f[i,j]:=max(f[i-1,j]+a[i,j],f[i,j-1]+a[i,j],f[i,j+1]+a[i,j])27. 数字三角形4-----过河卒 //边界初始化 f[i,j]:=f[i-1,j]+f[i,j-1]; 28. 数字三角形5-----朴素的打砖块 f[i,j,k]:=max(f[i-1,j-k,p]+sum[i,k],f[i,j,k]); 29. 数字三角形6-----优化的打砖块 f[I,j,k]:=max{g[i-1,j-k,k-1]+sum[I,k]} 30. 线性动态规划3-----打鼹鼠’ f:=f[j]+1;(abs(x-x[j])+abs(y-y[j])<=t-t[j]) 31. 树形动态规划3-----贪吃的九头龙 32. 状态压缩动态规划1-----炮兵阵地 Max(f[Q*(r+1)+k],g[j]+num[k]) If (map and plan[k]=0) and ((plan[P] or plan[q]) and plan[k]=0) 33. 递推天地3-----情书抄写员 f:=f[i-1]+k*f[i-2] 34. 递推天地4-----错位排列 f:=(i-1)(f[i-2]+f[i-1]); f[n]:=n*f[n-1]+(-1)^(n-2); 35. 递推天地5-----直线分平面最大区域数 f[n]:=f[n-1]+n :=n*(n+1) div 2 + 1; 36. 递推天地6-----折线分平面最大区域数 f[n]:=(n-1)(2*n-1)+2*n; 37. 递推天地7-----封闭曲线分平面最大区域数 f[n]:=f[n-1]+2*(n-1) :=sqr(n)-n+2; 38 递推天地8-----凸多边形分三角形方法数 f[n]:=C(2*n-2,n-1) div n; 对于k 边形 f[k]:=C(2*k-4,k-2) div (k-1); //(k>=3) 39 递推天地9-----Catalan 数列一般形式 1,1,2,5,14,42,132 f[n]:=C(2k,k) div (k+1);40 递推天地10-----彩灯布置排列组合中的环形染色问题f[n]:=f[n-1]*(m-2)+f[n-2]*(m-1); (f[1]:=m; f[2]:=m(m-1);41 线性动态规划4-----找数线性扫描sum:=f+g[j];(if sum=Aim then getout; if sum<Aim then inc(i) else inc(j);)42 线性动态规划5-----隐形的翅膀min:=min{abs(w/w[j]-gold)};if w/w[j]<gold then inc(i) else inc(j);43 剖分问题5-----最大奖励f:=max(f,f[j]+(sum[j]-sum)*i-t44 最短路1-----Floydf[i,j]:=max(f[i,j],f[i,k]+f[k,j]);ans[q[i,j,k]]:=ans[q[i,j,k]]+s[i,q[i,j,k]]*s[q[i,j,k],j]/s[i,j];45 剖分问题6-----小H的小屋F[l,m,n]:=f[l-x,m-1,n-k]+S(x,k);46 计数问题2-----陨石的秘密(排列组合中的计数问题)Ans[l1,l2,l3,D]:=f[l1+1,l2,l3,D+1]-f[l1+1,l2,l3,D];F[l1,l2,l3,D]:=Sigma(f[o,p,q,d-1]*f[l1-o,l2-p,l3-q,d]);47 线性动态规划------合唱队形两次F:=max{f[j]+1}+枚举中央结点48 资源问题-----明明的预算方案:加花的动态规划f[i,j]:=max(f[i,j],f[l,j-v-v[fb]-v[fa]]+v*p+v[fb]*p[fb]+v[fa]*p[ fa]);49 资源问题-----化工场装箱员50 树形动态规划-----聚会的快乐f[i,2]:=max(f[i,0],f[i,1]);f[i,1]:=sigma(f[t^.son,0]);f[i,0]:=sigma(f[t^.son,3]);51 树形动态规划-----皇宫看守f[i,2]:=max(f[i,0],f[i,1]);f[i,1]:=sigma(f[t^.son,0]); f[i,0]:=sigma(f[t^.son,3]);52 递推天地-----盒子与球f[i,1]:=1;f[i,j]:=j*(f[i-1,j-1]+f[i-1,j]);53 双重动态规划-----有限的基因序列f:=min{f[j]+1}g[c,i,j]:=(g[a,i,j] and g[b,i,j]) or (g[c,i,j])54 最大子矩阵问题-----居住空间f[i,j,k]:=min(min(min(f[i-1,j,k],f[i,j-1,k]),min(f[i,j,k-1],f[i-1,j-1,k])),min(min(f[i-1,j,k-1],f[i,j-1,k-1]),f[i-1,j-1,k-1]))+1;55 线性动态规划------日程安排f:=max{f[j]}+P[I]; (e[j]<s)56 递推天地------组合数C[I,j]:=C[i-1,j]+C[I-1,j-1]C[I,0]:=157 树形动态规划-----有向树k中值问题F[I,r,k]:=max{max{f[l,I,j]+f[r,I,k-j-1]},f[f[l,r,j]+f[r,r,k-j]+w[I,r]]}58 树形动态规划-----CTSC 2001选课F[I,j]:=w(if i∈P)+f[l,k]+f[r,m-k](0≤k≤m)(if l<>0)59 线性动态规划-----多重历史f[i,j]:=sigma{f[i-k,j-1]}(if checked)60 背包问题(+-1背包问题+回溯)-----CEOI1998Substractf[i,j]:=f[i-1,j-a] or f[i-1,j+a]61 线性动态规划(字符串)-----NOI 2000 古城之谜f[i,1,1]:=min{f[i+length(s),2,1],f[i+length(s),1,1]+1}f[i,1,2]:=min{f[i+length(s),1,2]+words[s],f[i+length(s),1,2]+words[s]}62 线性动态规划-----最少单词个数f[i,j]:=max{f[I,j],f[u-1,j-1]+l}63 线型动态规划-----APIO2007 数据备份状态压缩+剪掉每个阶段j前j*2个状态和j*2+200后的状态贪心动态规划f:=min(g[i-2]+s,f[i-1]);64 树形动态规划-----APIO2007 风铃f:=f[l]+f[r]+{1 (if c[l]<c[r])}g:=1(d[l]<>d[r]) 0(d[l]=d[r])g[l]=g[r]=1 then Halt;65 地图动态规划-----NOI 2005 adv19910F[t,i,j]:=max{f[t-1,i-dx[d[[t]],j-dy[d[k]]]+1],f[t-1,i,j];66 地图动态规划-----优化的NOI 2005 adv19910F[k,i,j]:=max{f[k-1,i,p]+1} j-b[k]<=p<=j;67 目标动态规划-----CEOI98 subtraF[I,j]:=f[I-1,j+a] or f[i-1,j-a]68 目标动态规划----- Vijos 1037搭建双塔问题F[value,delta]:=g[value+a,delta+a] or g[value,delta-a]69 树形动态规划-----有线电视网f[i,p]:=max(f[i,p],f[i,p-q]+f[j,q]-map[i,j])leaves>=p>=l, 1<=q<=p;70 地图动态规划-----vijos某题F[I,j]:=min(f[i-1,j-1],f[I,j-1],f[i-1,j]);71 最大子矩阵问题-----最大字段和问题f:=max(f[i-1]+b,b); f[1]:=b[1]72 最大子矩阵问题-----最大子立方体问题枚举一组边i的起始,压缩进矩阵B[I,j]+=a[x,I,j]枚举另外一组边的其实,做最大子矩阵73 括号序列-----线型动态规划f[I,j]:=min(f[I,j],f[i+1,j-1](ss[j]=”()”or(”[]”)),f[I+1,j+1]+1 (s[j]=”(”or”[” ] , f[I,j-1]+1(s[j]=”)”or”]” )74 棋盘切割-----线型动态规划f[k,x1,y1,x2,y2]=min{min{f[k-1,x1,y1,a,y2]+s[a+1,y1,x2,y2],f[k-1,a+1,y1,x2,y2]+s[x1,y1,a,y2]min{}}75 概率动态规划-----聪聪和可可(NOI2005)x:=p[p[i,j],j]f[I,j]:=(f[x,b[j,k]]+f[x,j])/(l[j]+1)+1f[I,i]=0f[x,j]=176 概率动态规划-----血缘关系F[A, B]=(f[A0, B]+P[A1, B])/2f[I,i]=1f[I,j]=0(I,j无相同基因)77 线性动态规划-----决斗F[I,j]=(f[I,j] and f[k,j]) and (e[I,k] or e[j,k]),i<k<j78 线性动态规划-----舞蹈家F[x,y,k]=min(f[a[k],y,k+1]+w[x,a[k]],f[x,a[k],k+1]+w[y,a[k]]) 79 线性动态规划-----积木游戏F[I,a,b,k]=max(f[I,a+1,b,k],f[i+1,a+1,a+1,k’],f[I,a+1,a+1,k’]) 80 树形动态规划(双次记录)----NOI2003 逃学的小孩朴素的话枚举节点i和离其最远的两个节点j,k O(n^2)每个节点记录最大的两个值,并记录这最大值分别是从哪个相邻节点传过来的。

动态规划算法题(5题)

动态规划算法题(5题)

动态规划算法题(5题)1、题⽬描述(⽹易)有 n 个学⽣站成⼀排,每个学⽣有⼀个能⼒值,⽜⽜想从这 n 个学⽣中按照顺序选取 k 名学⽣,要求相邻两个学⽣的位置编号的差不超过d,使得这 k 个学⽣的能⼒值的乘积最⼤,你能返回最⼤的乘积吗?输⼊描述:每个输⼊包含 1 个测试⽤例。

每个测试数据的第⼀⾏包含⼀个整数 n (1 <= n <= 50),表⽰学⽣的个数,接下来的⼀⾏,包含 n 个整数,按顺序表⽰每个学⽣的能⼒值 ai(-50 <= ai <= 50)。

接下来的⼀⾏包含两个整数,k 和 d (1 <= k <= 10, 1 <= d <= 50)。

输出描述:输出⼀⾏表⽰最⼤的乘积。

试题分析:本题要使⽤动态规划来解,动态规划的特点:1.求解的是最优化问题;2.可以分解为最优⼦结构本题可以先求解在第i个学⽣的位置下,j(j<K)个学⽣的能⼒值的最⼤值,得到所有学⽣位置下j个学⽣的能⼒值的最⼤值;在j个学⽣的情况下,得到j+1个学⽣的最⼤值,样例输出: 10 8 7 2 -7 9 5 4 10 -7 1 3 3输出: 630如上,第⼀步先计算k=2的情况:7:在d=3的情况下,最⼤最⼩值都为562:在d=3的情况下,最⼤值为16,最⼩值为14-7:在d=3的情况下,最⼤值为-14,最⼩值为-56......得到第⼀趟的结果k=3的情况下(这⾥以第⼀趟的结果为基础,只有这样就不需要考虑第⼀趟中d=3的限制):2:在d=3的情况下,最⼤最⼩值都为112(56*2)-7:在d=3的情况下,最⼤值为-98(14*-7)最⼩值为-392(56*-7)9:在d=3的情况下,最⼤值为504(56*9)最⼩值为-504(-56*9)......得到第⼆趟的结果返回最⼤值就是最后的结果#-*- coding:utf-8 -*-n=input()array=[int(i) for i in raw_input().split()]k,d=[int(i) for i in raw_input().split()]# n=36array_max=array_min=array#轮询k-1趟即可for i in range(0,k-1):_max=[-float('inf')]*n#将最⼤值的数组赋值⽆穷⼩_min=[float('inf')]*n#将最⼩值的数组赋值⽆穷⼤for j in range(i+1,n):if j<=d+i:#下⾯对应的min、max都是考虑到array[j]为负值的情况下temp_max = max(max(ii*array[j] for ii in array_max[i:j]),max(ii*array[j] for ii in array_min[i:j]))temp_min = min(min(ii*array[j] for ii in array_max[i:j]),min(ii*array[j] for ii in array_min[i:j]))else:temp_max = max(max(ii*array[j] for ii in array_max[j-d:j]),max(ii*array[j] for ii in array_min[j-d:j]))temp_min = min(min(ii*array[j] for ii in array_max[j-d:j]),min(ii*array[j] for ii in array_min[j-d:j]))_max[j]=temp_max_min[j]=temp_minarray_max=_maxarray_min=_minprint array_maxprint array_minprint max(array_max)2、题⽬描述(腾讯):腾讯⼤厦有39层,你⼿⾥有两颗⼀抹⼀眼的玻璃珠。

完整版本的 poj 题目分类

完整版本的 poj 题目分类

完整版本的poj 题目分类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 简单题,BFS1276 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 简单题,同样faint1320 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 V oting 无聊题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 简单题,好像是线段树的经典题目之一,但是这题规模比较小,所以不必用。

动态规划训练题目

动态规划训练题目

动态规划题目【引例1、上楼梯】一个含有n阶的楼梯,一次可以走1阶或2阶,从底走到顶一共有几种走法?n<=90。

【引例2、数字三角形】a1有一个数字三角形,编程求从最顶层到最底层的一条路所经过位置上数字之和的最大值。

每一步只能向左下或右下方向走。

下图数据的路应为7->3->8->7->5,和为30。

输入:文件输入(从键盘读入文件名),文件格式:第一行:R(1<=R<=10000),数字三角形共有R行;以下R行:依次表示数字三角形中每行中的数字。

每个数都是非负的,且<=100.输出:一个正整数,路径上数字之和的最大值。

输入样例:573 88 1 02 7 4 44 5 2 6 5输出样例:30【引例3、求最大连续子序列的和。

】a2输入:第一行:n(N<500)第二行:n个整数(-3000,3000)。

输出:最大连续子序列的和。

样例:输入:7-6 4 -1 3 2 -3 2输出:81、最长递增序列b1设有整数序列b1,b2,b3,…,bm,若存在i1<i2<i3<…<in,且bi1<bi2<bi3<…<bin,则称b1,b2,b3,…,bm 中有长度为n的递增序列bi1,bi2,bi3,…,bin。

求序列b1,b2,b3,…,bm中最大递增序列长度(n)。

输入:m(<1000),整数序列输出:最大长度n样例:输入:7-6 4 -1 3 8 -3 2输出:42、背包问题b2设有n种物品,每种物品有一个重量及一个价值。

同时有一个背包,最大载重量为W,今从n种物品中选取若干件,使其重量的和小于等于W,而价值的和为最大。

输入数据:第一行两个数:物品总数N(<100),背包载重量W(<100);两个数用空格分隔;第二行N个数,为N种物品重量Wi;两个数用空格分隔;第三行N个数,为N种物品价值Vi; 两个数用空格分隔;输出数据:第一行总价值;输入样例:4 103 4 5 77 15 20 25输出样例:353、迷宫寻宝b3一个n行m列的迷宫(1<=n,m<=50),入口在左上角,规定只能向下或向右走。

SPOJ题目及题解

SPOJ题目及题解

个定义其实不怎么精确,待会再说明)。

考虑所有非树边的j->i,有三种情况:向下的边(祖先到儿子),向上的边(儿子到祖先)和横向的边(由我们处理的顺序可知,此时j肯定已经被处理过了)。

对于向下的边:Low[i] = min(Low[i], Pos[j]) 这种情况是比较显然的。

对于向上的边:Low[i] = min(Low[i], Low[j], Low[j->father], Low[j->father->father], …),即,从j一直上溯到i的某个儿子,如果有某个Pos比i小的节点能到达它们中的任意一个,就能从它到达i。

对于横向的边:找出i和j的LCA,记做k。

这个时候从j一直上溯至i都已经被处理过了。

因此Low[i] = min(Low[i], Low[j], Low[j->father], Low[j->father->father], …, Pos[k])最后,对于每个节点i,如果存在某个儿子j满足Low[j]>=Pos[i],节点i就是关键的。

(注:后一半的算法参见了Bamboo的程序)60 DANCE The GordianDance 题意:有4个人拉着绳子站成这个样子:A----BD----C有两种操作:S:处于B和C位置的人交换位置,两人交叉的时候从B到C的人把手抬高,从C到B的人把手放低。

R:整个图形顺时针旋转90度。

比如SS,就能得到下图:给定一个操作序列,问要几步操作才能使它恢复成初始状态。

时间复杂度:O(L)算法:首先找规律不难发现答案<=L*3-1。

因此不妨加强题目,构造出解的同时,也就知道了题目所要求的长度。

参见所附资料:conway.pdf中的内容,本题的状态可以与分数对应起来,R操作相当于X -> -1/X,S操作个以上数的乘积了,判断起来速度不会慢☺135 MAWORK Men at work 题意:一个迷宫,里面有一些格子是周期性的(开i个时间单位,再关i个时间单位,1<=i<=9),给定一个起点和一个终点,你每次只能向四周移动一格,或者不动。

北京大学JudgeOnline题目分类

北京大学JudgeOnline题目分类

POJ(北京大学Online Judge )题目分类/JudgeOnlineACM-题型分类的代码主流算法:Ø 1.搜索 //回溯Ø 2.DP(动态规划)Ø 3.贪心Ø 4.图论 //Dijkstra、最小生成树、网络流Ø 5.数论 //解模线性方程Ø 6.计算几何 //凸壳、同等安置矩形的并的面积与周长Ø 7.组合数学 //Polya定理Ø 8.模拟Ø 9.数据结构 //并查集、堆Ø 10.博弈论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 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,2 083,2303,2310,2329简单: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, 234 9,推荐:1011, 1190, 1191, 1416, 1579, 1632, 1639, 1659, 1680, 1683, 1691, 1709, 171 4, 1753, 1771, 1826, 1855, 1856, 1890, 1924, 1935, 1948, 1979, 1980, 2170, 2288, 2 331, 2339, 2340,1979(和迷宫类似)1980(对剪枝要求较高)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, 211 9, 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,101 7,1328,1862,1922 ,2054,2209,2313,2325,2370。

(总结一)poj简单动态规划

(总结一)poj简单动态规划

例1:求一维数组中连续数之和的最大值。

代码:#include<iostream>using namespace std;int a[100];//记录一维数组int res[100];//res[i]表示以第i个数为末尾的连续数之和的最大值int main(){int i,n,max;while(1){cin>>n;if(!n) break;memset(res,0,sizeof(a)),max=-1270000;for(i=0;i<n;i++){cin>>a[i];res[i]=a[i];if(i>0 && res[i-1]>0) res[i]+=res[i-1];//动态规划法if(res[i]>max) max=res[i];//打擂法}cout<<max<<endl;}return 0;}例2(poj1050):求二维数组中子矩阵之和的最大值。

(例1的拓展)代码:#include<iostream>using namespace std;int a[101][101];//记录二维数组int sum[101][101];//sum[i][j]表示第j列前i行的数之和int res[101][101][101];//res[i1][i2][j]表示从第i1行到第i2行,以第j个数为末尾的连续数之和的最大值int main(){int i,i1,i2,j,n,temp,max;while(1){cin>>n;if(!n) break;memset(sum,0,sizeof(sum)),memset(res,0,sizeof(res));for(i=1;i<=n;i++)for(j=1;j<=n;j++){cin>>a[i][j];//输入二维数组sum[i][j]=sum[i-1][j]+a[i][j];//求第j列前i行之和}max=-1270000;for(i1=1;i1<=n;i1++)//类似一维数组求最大和的方法,将一重循环改为三重循环for(i2=i1;i2<=n;i2++)for(j=1;j<=n;j++){res[i1][i2][j]=sum[i2][j]-sum[i1-1][j];//相当于一维数组中的第j 个数if(res[i1][i2][j-1]>0) res[i1][i2][j]+=res[i1][i2][j-1];if(res[i1][i2][j]>max) max=res[i1][i2][j];}cout<<max<<endl;}return 0;}例3(poj1458):求最长公共子序列的长度。

POJ_动态规划

POJ_动态规划

题目:动态规划_2479 AC率:6120/20257题意解释:给定n个数,求两段连续不重叠子段的最大和。

比如1 -1 2 2 3 -3 4 -4 5 -5结果就是{2,2,3,-3,4} 和{5},也就是两者的和13。

选题原因:此题是对动态规划中的一个基础知识点求最大字段和的一个简单应用,难度不太大,比较具有代表性,是基础题型。

求最大字段和的方法有很多,但DP是最高效的,时间效率为O(n)。

有关求最大字段和的详细介绍参见王晓东《算法设计与分析》第三版59页相关部分。

这里仅附上求最大字段和的状态转移方程:b[j] = max {b[j-1] + a[j], a[j]}, 1 <= j <= n。

解题思路:先对数字串从左向右依次求出每段的连续子序列的最大字段和,并将其存入数组array[i]中(i为对应位置),再从右向左用同样的方法求一次最大字段和,并将每个子段i~n的和与对应的另一半1~i-1相加,求出最大值。

也就是对每个位置i来说,求出[1~i-1]的最大子段和以及[i~n]的最大子段和,再相加起来,求最大的一个就行了。

与基础的求最大字段和不同的是,该题需要对每个子段记录其最大和,即存入数组array[i]中。

程序代码:#include <stdio.h>int array[50001], num[50001];const int MIN = -999999999;int main(){int tcase, n;scanf("%d", &tcase);int tmp, ans, i, sum;while(tcase--){scanf("%d", &n);tmp = MIN; sum = 0;for(i = 1; i <= n; i++){scanf("%d", &num[i]);sum += num[i];if(sum > tmp)tmp = sum;array[i] = tmp; // 记录每个字段的最大值。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

[1]POJ动态规划题目列表
容易: 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,2039, 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(最大矩形面积,O(n)算法), 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 状态 DP 树 DP 构造最优解四边形不等式单调队列
1015 Jury Compromise
1029 False coin
1036 Gangsters
1037 A decorative fence
1038 Bugs Integrated, Inc.
1042 Gone Fishing
1050 To the Max
1062 昂贵的聘礼
1074 Parallel Expectations
1080 Human Gene Functions
1088 滑雪
1093 Formatting Text
1112 Team Them Up!
1141 Brackets Sequence
1143 Number Game
1157 LITTLE SHOP OF FLOWERS 1159 Palindrome
1160 Post Office
1163 The Triangle
1170 Shopping Offers
1178 Camelot
1179 Polygon
1180 Batch Scheduling
1185 炮兵阵地
1187 陨石的秘密
1189 钉子和小球
1191 棋盘分割
1192 最优连通子集
1208 The Blocks Problem 1239 Increasing Sequences 1240 Pre-Post-erous!
1276Cash Machine
1293 Duty Free Shop
1322 Chocolate
1323Game Prediction
1338 Ugly Numbers
1390 Blocks
1414 Life Line
1432 Decoding Morse Sequences 1456 Supermarket
1458 Common Subsequence
1475 Pushing Boxes
1485 Fast Food
1505 Copying Books
1513 Scheduling Lectures
1579 Function Run Fun
1609 Tiling Up Blocks
1631 Bridging signals 2 分+DP NLOGN 1633 Gladiators 1635 Subway tree systems 1636 Prison rearrangement
1644 To Bet or Not To Bet
1649 Market Place
1651 Multiplication Puzzle
1655 Balancing Act
1661 Help Jimmy
1664 放苹果
1671 Rhyme Schemes
1682 Clans on the Three Gorges
1690 (Your)((Term)((Project)))
1691 Painting A Board
1692 Crossed Matchings
1695 Magazine Delivery
1699 Best Sequence
1704 Georgia and Bob
1707 Sum of powers
1712 Flying Stars
1714 The Cave
1717 Dominoes
1718 River Crossing
1722 SUBTRACT
1726 Tango Tango Insurrection 1732 Phone numbers
1733 Parity game
1737 Connected Graph
1740 A New Stone Game
1742 Coins P
1745 Divisibility
1770 Special Experiment
1771 Elevator Stopping Plan 1776 Task Sequences
1821 Fence
1837 Balance
1848 Tree
1850 Code
1853 Cat
1874 Trade on Verweggistan 1887 Testing the CATCHER 1889 Package Pricing
1920 Towers of Hanoi
1926 Pollution
1934 Trip
1936 All in All
1937 Balanced Food
1946 Cow Cycling
1947 Rebuilding Roads
1949 Chores
1952 BUY LOW, BUY LOWER 1953 World Cup Noise
1958 Strange Towers of Hanoi 1959 Darts
1962 Corporative Network 1964 City Game
1975 Median Weight Bead 1989 The Cow Lineup
2018 Best Cow Fences
2019 Cornfields
2029 Get Many Persimmon Trees
2033 Alphacode
2039 To and Fro
2047 Concert Hall Scheduling
2063 Investment
2081 Recaman's Sequence
2082 Terrible Sets
2084 Game of Connections
2127 Greatest Common Increasing Subsequence 2138 Travel Games
2151 Check the difficulty of problems
2152 Fire
2161 Chandelier
2176 Folding
2178 Heroes Of Might And Magic
2181 Jumping Cows
2184 Cow Exhibition
2192 Zipper
2193 Lenny's Lucky Lotto Lists
2228 Naptime 2231 Moo Volume
2279 Mr. Young's Picture Permutations
2287 TianJi -- The Horse Racing 2288 Islands and Bridges
2292 Optimal Keypad
2329 Nearest number - 2
2336 Ferry Loading II
2342 Anniversary party
2346 Lucky tickets
2353 Ministry
2355 Railway tickets
2356 Find a multiple
2374 Fence Obstacle Course
2378 Tree Cutting
2384 Harder Sokoban Problem
2385 Apple Catching
2386 Lake Counting
2392 Space Elevator
2397 Spiderman
2411 Mondriaan's Dream
2414 Phylogenetic Trees Inherited 2424 Flo's Restaurant
2430 Lazy Cows
2915 Zuma
3017 Cut the Sequence 3028 Shoot-out
3124 The Bookcase
3133 Manhattan Wiring 3345 Bribing FIPA
3375 Network Connection 3420 Quad Tiling ?。

相关文档
最新文档