高中算法拾遗
bugall
这个作者很懒,什么都没留下…
展开
-
KMP算法
program KMP(input, output); var fail:array[1..1000] of longint ; s1,s2:string; {==============================================} procedure find; var i,j:longint; begin fail[1]:=0; j:=fail[1];原创 2015-04-01 21:30:30 · 644 阅读 · 0 评论 -
行列覆盖,最小点集覆盖
【题目】:Muddy Fields 【类型】:图论 【难度】:3 【来源】:PKU 2226 【关键字】:二分图匹配 行列【题目】:Muddy Fields 【类型】:图论 【难度】:3 【来源】:PKU 2226 【关键字】:二分图匹配 行列覆盖 最小点集覆盖【题目大意】:N行M列的地,*代表泥地,.代表草地。你必须用宽为1,长度不限的木板将泥地覆盖住,且不能覆盖草地。问最少需要几原创 2015-04-01 21:26:04 · 729 阅读 · 0 评论 -
最小生成树prime+heep
program as; type t1 =record wz,shu :longint; end; var n,heapsize,t :longint; sum,totel :longint; a :array[1..701,0..701] of longint; bool :array[1..490001] of bo原创 2015-04-01 21:27:56 · 826 阅读 · 0 评论 -
容量有上下界的可行流
【分析】把每行和每列看成一个点,然后先建一个源S和汇T,行就与S连,边的上下界均为要求的和,列就 与T连,上下界也是和,根据限制条件,调整行与列之间的关系。然后图就建好一半了。然后就是 求这个有上下界的网络的可行流 amber的《图论总结》里也写到怎么求 【复杂度】O(Maxflow) 【小结】 这题模型有点难想,但是建图十分麻烦。然后我的程原创 2015-04-01 21:25:26 · 684 阅读 · 0 评论 -
最小生成树kruscal+并查集
program as; type t1 =record x,y,h :longint; end; var n,m,s,i:longint; a :array[1..1000000] of t1; f :array[0..1000000] of longint; bool :array[1..1000,1..1000] of boolean;原创 2015-04-01 21:33:00 · 1128 阅读 · 0 评论 -
最大流-最大利益
。。起初以为基本的最大流最少也能过个4 ~5组数据。。可是不然。。。 就拿NOI2006-Day2的profit来说吧。。。 【问题描述】 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战。THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一项,就需要完成前期市场研究、站址勘测、最优化等项目。 在前期市场调查和站址勘测之后,公原创 2015-04-01 21:21:35 · 845 阅读 · 0 评论 -
单调栈-棋盘制作
program as; var a,b : array[0..2000,0..2000]of longint; c : array[0..2000,1..2]of longint; n,m,i,j,l,cfx,zfx : longint;function min(a,b : longint):longint; begin if a>b then exi原创 2015-04-01 21:22:49 · 588 阅读 · 0 评论