摘要:
用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; ... 阅读全文
摘要:
一个网格图中求最小割,很特殊的是这个图是一个平面图,最小割=最大流=对偶图中最短路,把小三角换成点标号,重连边即可。我标号用的矩阵元素标号的思想,可能看着还算清楚,乘来乘去的。数据里还有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 ... 阅读全文
摘要:
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 ... 阅读全文