bzoj 1191 匈牙利算法

摘要: 只需要做一遍匈牙利,只要有一个没法匹配上就break就行了/************************************************************** Problem: 1191 User: BLADEVIL Language: Pascal Result: Accepted Time:12 ms Memory:256 kb****************************************************************/ //By BLADEVILvar flag ... 阅读全文
posted @ 2013-12-08 17:12 BLADEVIL 阅读(222) 评论(0) 推荐(0) 编辑

bzoj 1029 贪心

摘要: 首先对于结束时间排序,然后贪心就可以了,建立一个大根堆维护一个当前结束时间,每次扫描到一个房屋,如果当前结束时间+time[i]x do dec(j); if ilow then qs(low,j);end; procedure init;var i :longint;begin read(n); for i:=1 to n do read(time[i],fin[i]); qs(1,n);end; procedure up(x:longint);begin while (x>1) and (hea... 阅读全文
posted @ 2013-12-08 17:11 BLADEVIL 阅读(184) 评论(0) 推荐(0) 编辑

bzoj 3223 裸splay

摘要: 裸的splay今儿写的splay,由于自己刚开始学,发现几个容易漏掉的地方1:开始给所有的儿子赋值为-12:给max[-1]赋值为-maxlongint3:开始father[root]:=sroot4:在find和rotate中的push_down5:数组的下边界为-16:push_down中要给标签清空7:build中要给tree数组赋值8:rotate操作不熟悉由于不熟悉,发现的问题有很多,以后多加练习就好了/**************************************************************Problem: 3223User: BLADEVILLa 阅读全文
posted @ 2013-12-04 23:41 BLADEVIL 阅读(685) 评论(0) 推荐(0) 编辑

bzoj 1251 裸splay

摘要: 裸的splay,只需要注意 max[-1]:=-maxlongint 就行了,否则在update的时候子节点的max值会在max[-1]里选/**************************************************************Problem: 1251User: BLADEVILLanguage: PascalResult: AcceptedTime:16008 msMemory:3448 kb****************************************************************///By BLADEVILcon 阅读全文
posted @ 2013-12-04 21:05 BLADEVIL 阅读(283) 评论(0) 推荐(0) 编辑

bzoj 1588 裸平衡树

摘要: //By BLADEVIL#include #include #define inf 1bt; bt.insert(inf); bt.insert(-inf); scanf("%d",&n); for (int i=1;ib then min:=b else min:=a;end; procedure left_rotate(var t:longint);var k :longint;begin k:=right[t]; right[t]:=left[k]; left[k]:=t; size[k]:=s... 阅读全文
posted @ 2013-12-04 10:14 BLADEVIL 阅读(235) 评论(0) 推荐(0) 编辑

bzoj 3224 裸平衡树

摘要: 裸的平衡树,可以熟悉模板用,写题写不出来的时候可以A以下缓解下心情。/************************************************************** Problem: 3224 User: BLADEVIL Language: Pascal Result: Accepted Time:660 ms Memory:15852 kb****************************************************************/ //By BLADEVILvar n ... 阅读全文
posted @ 2013-12-04 09:42 BLADEVIL 阅读(387) 评论(0) 推荐(0) 编辑

bzoj 1070 修车 费用流

摘要: 对于这道题,我们看数据范围应该是费用流(起码我的第一反应是。。。)然后仔细想想发现可做,那么就开始构图对于第I个修理工,我们可以让他修好多辆车,那么假设一个人修了J辆车,在他修他修的第K辆车的时候,会让后面的j-k辆车的每个人多等他修k车的时间那么我们设每个人一共修了n辆车,他倒数第j个修的车的代价就是j*time(修这辆车的代价)那么我们就对于每个人拆点,拆成N个点,代表他倒数第J个修的哪个车,然后求最小费用最大流就行了数据范围开始看成60,60了,数组开的不合适,后来懒得改了。。。。/***************************************************** 阅读全文
posted @ 2013-12-03 21:15 BLADEVIL 阅读(248) 评论(0) 推荐(0) 编辑

bzoj 1901 线段树套平衡树+二分答案查询

摘要: 我们就建一颗线段树,线段树的每一个节点都是一颗平衡树,对于每个询问来说,我们就二分答案,查询每个二分到的mid在这个区间里的rank,然后就行了/************************************************************** Problem: 1901 User: BLADEVIL Language: Pascal Result: Accepted Time:3220 ms Memory:6592 kb********************************************************... 阅读全文
posted @ 2013-12-03 10:57 BLADEVIL 阅读(660) 评论(0) 推荐(0) 编辑

bzoj 1834

摘要: 网络流的模板题首先第一问我们直接用dinic搞就行了,费用直接存为0(时间上界非常松,这道题是能过),然后第二问我们只需要在第一问的残余网络上加一个源点,源点指向1号点,容量为k,费用为0,然后对于之前的每一条边,建一个相同的边容量为无穷大,费用为原来的费用。//By BLADEVILvar pre, other, len, w :array[0..20100] of longint; last :array[0..2100] of longint; l ... 阅读全文
posted @ 2013-11-26 07:17 BLADEVIL 阅读(419) 评论(0) 推荐(0) 编辑

bzoj 1002 找规律(基尔霍夫矩阵)

摘要: 网上说的是什么基尔霍夫矩阵,没学过这个,打个表找下规律,发现w[i]=3*w[i-1]-w[i-2]+2;然后写个高精直接递推就行了//By BLADEVILvar n :longint; a, b, c :array[0..100000] of longint; w :array[0..200] of ansistring; i :longint; function plus(s1,s2:ansistring):an... 阅读全文
posted @ 2013-11-23 09:52 BLADEVIL 阅读(471) 评论(0) 推荐(0) 编辑