上一页 1 2 3 4 5 6 7 8 9 10 ··· 21 下一页
摘要: 用SBT神树做的,开始select居然打错了,maintain里就、自己没分清左右,树转烂了,无语。外边有一个工资总标记量就行了。View Code 1 program cashier(input,output); 2 const 3 oo = 9999999; 4 var 5 left,right,keys,s : array[0..200000] of longint; 6 money : longint; 7 n,tot,root : longint; 8 answer : longint; ... 阅读全文
posted @ 2012-04-16 20:02 Codinginging 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 一个网格图中求最小割,很特殊的是这个图是一个平面图,最小割=最大流=对偶图中最短路,把小三角换成点标号,重连边即可。我标号用的矩阵元素标号的思想,可能看着还算清楚,乘来乘去的。数据里还有n==1和m==1的数据。。。。。插个图片帮助理解。View Code 1 program beijing2006(input,output); 2 const 3 oo = 999999999; 4 type 5 node = ^link; 6 link = record 7 goal,w : longint; 8 next ... 阅读全文
posted @ 2012-04-16 19:13 Codinginging 阅读(3103) 评论(0) 推荐(0) 编辑
摘要: 1D1D动态规划,方程很容易写出来,f[i]=min{f[j]+(i-(j+1)+s[i]-s[j]-l)^2} 红色的地方要注意,因为j已经装进去了,所以是从j+1到i。通过函数性质,方程满足决策单调性,可以用二分法降到nlogn注意要用int64View Code 1 program hnoi2008_toy(input,output); 2 type 3 node = record 4 x,y,pos : longint; 5 end; 6 var 7 f : array[0..55000] of int64; 8 ... 阅读全文
posted @ 2012-04-16 07:12 Codinginging 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 把一个字符串按照特定的符号分成5分,把后四份按照特定的顺序插入后一个字符串的‘...’处,最后将去掉符号的字符串输出即可。View Code 1 program pku1917(input,output); 2 var 3 s : array[0..6] of ansistring; 4 ss,x : ansistring; 5 cases : longint; 6 i,tmp : longint; 7 begin 8 readln(cases); 9 while cases>0 do10 begin11 dec(case... 阅读全文
posted @ 2012-04-15 20:01 Codinginging 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 有一棵树,求出以每个点为起点的最长路径长度后,找到最长的连续区间满足极差不超过M。有一个重要的性质,一个点为起点的最长路的终点一定是直径的某个端点,问题转换为直径,O(n)之后ST处理出区间最值O(nlogn)用类似队列的维护形式求最长区间 O(n)View Code 1 {$inline on} 2 {$M 10000000000} 3 program race(input,output); 4 type 5 node = ^link; 6 link = record 7 goal,w : longint; 8 n... 阅读全文
posted @ 2012-04-15 19:45 Codinginging 阅读(248) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 21 下一页