摘要: Bzoj 1012 [jsoi2008]最大数maxnumber题目大意:维护一个队列,每次往队尾加一个数或者一个询问(末尾的l个数中的最大值是多少)解:我是用树状数组维护最大值,我沙茶地把lowbit(x)-1写成了lowbit(x-1),wa了若干次还以为是自己写错了。本题线段树亦可,然后还有一种单调队列+并茶几的算法,这个可用于离线的rmq问题,复杂度O(n),下面分段说。因为这个队列只会往后增加而不会减小,有一个单调队列的性质(维护单调递减),f[i]表示从第i个数到末尾的最大的数的下标,然后不断把这些最小的数连向他后面的最大的数即可。挺囧的是线段树参考了别人的程序,查了老半天说我擦a 阅读全文
posted @ 2012-04-10 20:00 F.D.His.D 阅读(220) 评论(0) 推荐(0) 编辑
摘要: Bzoj 1001题目大意:在一个平面图上(网格图+斜边),求最小割;解:因为点数可以去到10000000,所以网络流不行= =,我自己一开始自信满满地说好水啊,结果尼玛直接wa掉了,检查半天不出错,去看discuz,发现是用平面图转构图(参见国家集训队2008day2周冬神牛地论文)然后最短路。自己一个数组写小了,因为特殊的原因,提交在wa和re徘徊,自己检查一晚上代码..还以为是构图写错了,去q群里吐槽一下发现时数组的问题= =,改了立马ac..View Code 1 // bzoj 1001 [beijing 2006] 2 const 3 maxn=1001; ... 阅读全文
posted @ 2012-04-10 12:49 F.D.His.D 阅读(504) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给出一副图,求这幅图上可能的生成树中,树的最大边与最小边的差的最小值为多少;解:枚举最小边,kruskal,然后求出最大的一条边,询问,与答案比较。因为kruskal的最优,所以最小边一定的时候得到的生成树的最大边一定是最小的,注意无解输出1。还有记得并茶几的初始化。View Code 1 //poj 3352 2 const 3 maxn=1111; 4 maxm=1111; 5 type 6 data=record 7 next, dest, op: longint; 8 end... 阅读全文
posted @ 2012-04-10 12:33 F.D.His.D 阅读(171) 评论(0) 推荐(0) 编辑