自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一点一点的进步

  • 博客(26)
  • 资源 (4)
  • 收藏
  • 关注

原创 POJ 2125 最小点权覆盖 最大流

题意就是 有一个图, 两种操作,一种是删除某点的所有出边,一种是删除某点的所有入边,各个点的不同操作分别有一个花费,现在我们想把这个图的边都删除掉,需要的最小花费是多少那么本题的话,我们看到是要删除所有的边,但只需要在两个端点中的一端进行删除即可,这就可以联想到了最小点权覆盖了。一般对有向图而言,我们经常进行的就是拆点,将每个点拆成两个点,一个点是代表边从这出来,一个代表边从这进去

2012-07-30 22:20:41 1398

原创 POJ 3308 二分图最小点权覆盖 最大流

本题题意就是,公元XXXX年,地球跟外星人打仗,然后有一个n*m的网格,会有外星人降落到某些位置上,因为外星人比较猛,所以必须一下来就消灭他们,现在可以在某些行或者某些列的首部放一些激光枪。这些枪的特性就是你放在行的首部你就消灭这一行的敌人,放在列的首部就消灭一列的敌人。但是放置这些枪也需要一定的费用,这些费用已经给出来了,最后总费用是这些枪的费用之积,现在要求最小的这个费用。看到积之后,我们

2012-07-30 16:16:38 1012

原创 POJ 3204 最大流

题目大意是这样,找这样一种边的个数,就是增加该边的容量,可以使得最大流变大那么首先我们求一遍最大流,如果某条边符合我们的要求,那么这条边必然是满流的,否则增加容量也没有用,然后假设端点为u->v,那么必然存在从源点到u的不饱和的路径,也就是路径上的每条边都是不满的,同样从v到汇点也应该有这样的路径,也只有这样才会在该边增加容量后形成一条增广路。那么我们搞定这个问题的方法就是DFS了,从源点

2012-07-30 00:50:44 2023

原创 POJ 3189 枚举+最大流

注意到题中是所有牛中最高选择的等级和所有牛中最低等级之差最小就可以想到枚举区间长度 然后 枚举起点 来进行最大流了#include #include #include #include #include #include #include #include #include #define eps 1e-5#define MAXN 1111#define MA

2012-07-29 18:57:34 798

原创 POJ 3084 Panic Room 最小割

题意很蛋疼,看了好久才明白过来什么意思大意就是,有一些房间,初始时某些房间之间有一些门,并且这些门是打开的,也就是可以来回走动的,但是这些门是确切属于某个房间的,也就是说如果要锁门,则只有在那个房间里才能锁,这跟现实很符合啊,不然随便个人站你家外边把你门给锁了是什么情况。 现在一些房间里有一些恐怖分子,要搞破坏,但是我们现在有个房间很重要,不能被他们破坏,这就需要锁一部分的门,不让恐怖分子有可

2012-07-29 14:26:40 1758

原创 POJ 3155 最大密度子图 二分+最小割

还是参考amber的论文 最小割那篇这道题建图的话按照论文上建就可以。但是对于本题来讲,最最蛋疼的地方绝对不是建图,而是精度。比方说最后遍历残留网络的时候,因为是double类型么,我理所当然的用了eps去判断与0的关系,然后就杯具了。。。 交了十几次, 赫然发现尼玛直接写>0远比eps好用。然后二分的部分也需要用到eps的时候,比如high与low的差大于eps,h(g)

2012-07-29 04:08:19 2220

原创 HDU 3879 Base Station 最大权闭合图

一道稍微有点变形的题对每条边,新增一个点代表这条边,该边点与边的两个端点分别连有向边,容量为无穷大,此时就转化为了一个最大权闭合图的模型,该边点的权值为正,而两个端点的权值则为负,按照普通建图方法建图即可。#include #include #include #include #include #include #include #include #include #de

2012-07-28 23:53:05 928

原创 POJ 2987 最大权闭合图

请参考胡伯涛的论文《最小割模型在信息学竞赛中的应用》闭合图的概念就很好引出了。在一个图中,我们选取一些点构成集合,记为V,且集合中的出边(即集合中的点的向外连出的弧),所指向的终点(弧头)也在V中,则我们称V为闭合图。最大权闭合图即在所有闭合图中,集合中点的权值之和最大的V,我们称V为最大权闭合图。首先引入结论,最小割所产生的两个集合中,其源点S所在集合(除去S)为最大权闭

2012-07-28 20:28:46 3097

原创 POJ 2699 枚举+最大流

这应该说是比较神的一个题目了题意的话,就是有n 个人,两两之间打比赛,每场比赛赢的人加一分,总共呢有n*(n-1)/2个比赛,然后求这样一种人的个数,就是能赢所有比自己分高的人或者他就是分最高的人。 当然我们是求这种人可能的最大个数,  建图的话,就要分两种点,人和比赛,很显然,源点到所有的人建边,容量是该人的得分,所有比赛与汇点建边,容量为1。那么现在要处理的就是人与比赛的关系了。当

2012-07-28 18:46:27 3036 3

原创 SGU 194 无源汇的上下界可行流

很裸的模板题,直接搞起#include #include #include #include #include #include #include #include #include #define MAXN 555#define MAXM 555555#define INF 1000000007using namespace std;struct n

2012-07-24 21:57:14 1722

原创 POJ 2396 Budget 上下界网络流

这是一道比较基础的上下界网络流了上下界网络流的算法完全是参考论文《一种简易的方法求解流量有上下界的网络 》 还有 《最大流在信息学竞赛中应用的一个模型 》然后http://blog.csdn.net/water_glass/article/details/6823741说的也是比较详细具体的解法不再多说了,网络流的算法一直是比较麻烦,代码量还大,我看了好久才明白算法是啥意思。总体来

2012-07-24 16:18:01 809

原创 POJ 2391 拆点+最大流+二分

题意就不再说了,主要是想说一下为啥要拆点POJ 2112跟本题很相似,也是二分,但它就没用拆点,本题就用了为啥呢? 因为POJ2112上建的图中是一个很明显的二分图,也就是左边的点绝对不会跟左边的点去连边的。而本题中就不一样了,任何点之间都可能有边。会出现这种情况,1->2->3,这是一条链,而1->2最短路为1,2->3为1,1->3为 2,此时如果我们限制最大距离为1的话,建的新图

2012-07-21 23:20:27 3982 1

原创 POJ 2112 二分图多重匹配+二分+floyd

题目意思不在赘述二分图多重匹配一般都可以用网络流来做,只不过网络流的代码太长。具体看代码把#include #include #include #include #include #include #include #include #define MAXN 250#define MAXM 100005#define INF 1000000007#defi

2012-07-20 13:04:44 959

原创 UESTC 1712 Easy Problem With Numbers 线段树+扩展欧几里得求逆元

这题是今年四川省赛的E题, 如果懂逆元的话很容易想到做法,不懂的话就像我似的 沙茶了。四处求许久,求得神牛代码一份,思路一份,写了许久后最终得以A掉此题。题意就不再说了,如果你知道product是乘积的意思的话这题就不难理解附上神牛原版思路:如果这个题只有乘法,那么你肯定会做吧?线段树更新区间查找区间。那么有除法呢?当一个数x和m互质的时候,除以x可以改为乘以x的逆

2012-07-16 01:45:20 1924 1

原创 POJ 1815 给定源汇的无向图点连通度 输出字典序最小的方案

无向图的点连通度转化为最大流来求解是个非常经典的模型了。当源与汇固定时构建网络流模型:若G为无向图:(1)原G图中的每个顶点V变成N网中的两个顶点V'和V'',顶点V'至V''有一条弧容量为1;(2)原图G中的每条边e=(U,V),在N网中有两条弧e'=(U'',V'),e''=(V'',U')与之对应,e'与e''容量均为无穷;(3)求最大流。

2012-07-09 21:21:05 1283

原创 POJ 1637 混合图欧拉回路的判定

以下解释转自http://www.cnblogs.com/destinydesigner/archive/2009/09/28/1575674.html1 定义欧拉通路 (Euler tour)——通过图中每条边一次且仅一次,并且过每一顶点的通路。欧拉回路 (Euler circuit)——通过图中每条边一次且仅一次,并且过每一顶点的回路。欧拉图——存在欧拉回路的图。

2012-07-09 15:20:34 706

原创 网络流几题

只说建图  代码用的模板都一样,所以只发一份就好了POJ  1149   PIGS : 这题建图还真有点巧妙,首先建立超级源点和汇点,源点和每个猪圈的第一个顾客连边,容量为猪圈中的猪个数,如果一个人是多个猪圈的第一个顾客,那就把这些值加起来,再连边,当然用邻接表的话这就无所谓了。 刚开始我想的是把源点和每个猪圈连边来着,然后猪圈再和每个第一位顾客连边,后来一想,没必要,而且猪圈的个数又比较多,

2012-07-07 17:24:35 729

原创 HDU 3622 二分+2-sat

这题二分的话,二分半径可以过,但是二分半径的平方就会跪,不知道为什么#include #include #include #include #include #include #include #include #define MAXN 255#define MAXM 50005#define INF 500000005#define eps 1e-7using

2012-07-06 12:49:02 1163

原创 COJ 1253 二分+2-sat判定

X城的精神病院只有两个病房,一共关着N 名病人,编号分别为1~N。病人之间的关系有时极不和谐。很多病人之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“不和谐值”(一个正整数值)来表示某两名病人之间的仇恨程度,不和谐值越大,则这两名病人之间的积怨越多。如果两名不和谐值为c 的病人被关在同一病房,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。每年年末,院里会将本年内病房中的所有

2012-07-05 21:36:11 1382

原创 POJ 2749 二分+2-sat判定

这题还是挺好想建图的 二分判定就行了#include #include #include #include #include #include #include #define MAXN 2005#define MAXM 50005#define INF 1000000000using namespace std;vectorg[MAXN];int n, A,

2012-07-05 21:10:29 724

原创 POJ 3683 2-sat 输出解

题意方法和之前的3648基本一样注意输出解的方式,分成两部分的点集,应该遍历其中一个点集,根据染色判断选择该点集的点还是另一个点集的点#include #include #include #include #include #include #include #define MAXN 5005#define MAXM 50005#define INF 1000000000

2012-07-05 18:37:43 954

原创 POJ 3648 2-sat 输出解

这题的题意稍不留神就会看错,注意那个keep ...from 是啥意思所以新娘看不见本排的情况,只能看见对面,要求不能看见不正常关系的一对。并且夫妇不能同时坐在一边。很明显的模型了,由于新娘看的是对面的情况,所以就需要对新娘对面的人来分析建图,n对夫妇是2 *n个点, n对夫妇每对夫妇只能挑一个到新娘对面坐下,这很符合2-sat的初始的状态。然后又有一些不正常关系,就需要分别建图了。 并且

2012-07-05 15:55:58 2541

原创 POJ 2723 二分+ 2-sat 判定

此题的题意很简单,有一些个门, 还有2 * n个钥匙分成了n组,每组里有两把钥匙,并且每组中只能使用一把钥匙, 然后每个门有两把锁,分别对应着钥匙,两个锁只要任意开一个门就会打开,并且,要打开一个门,必须保证他序号之前的所有门都打开了,类似于一关一关的往里闯然后思路的话,由于是必须顺序的开门,所以可以进行二分枚举答案,如果枚举的数为m, 则我们要判定的就是1~m的门是否能被打开, 就要

2012-07-04 11:51:23 969

原创 POJ 3207 2-sat 判断是否有合法解

---------------------------------------------------------------------------------------------------------以下转载自http://cainiao2hao.blogcn.com/articles/poj3207.html平面上,一个圆,圆的边上按顺时针放着n个点。现在要连m条边,比如a,b,那

2012-07-03 21:25:47 2204

原创 POJ 3678 Katu Puzzle 2-sat 判断是否有合法解

建图如下AND  1   a0->a1,b0->b1AND  0   a1->b0,b1->a0OR   1   a0->b1,b0->a1OR   0   a1->a0,b1->b0XOR  1   a0->b1,a1->b0,b1->a0,b0->a1XOR  0   a0->b0,b0->a0,a1->b1,b1->a1需要注意的是,如果a,b的值已经

2012-07-03 15:24:47 873

原创 POJ 3249 拓扑排序+ 简单DP

为啥要给这个水题写个解题报告呢因为这个题太坑人了。非常简单的题意,但是数据量超级大我首先用了DFS,毫无疑问超时了然后又BFS,居然又超时了然后加上超级源点超级汇点后SPFA,各种WA后继续超时最后逼急了去写拓扑排序,瞬间就过了。 加了读入优化后能排进第一版了。其实刚开始就准备写拓扑了,但是为了试验算法,TLE和WA了好长时间,#include #in

2012-07-01 14:49:37 2034

归并排序实现

使用C++实现了归并排序,有注释,简明易懂

2013-06-11

堆排序实现

使用C++实现了堆排序,有注释,简明易懂

2013-06-11

插入排序实现

使用C++实现了插入排序,有注释,简明易懂

2013-06-11

java 俄罗斯方块源码

代码可直接运行, 主要功能有基本的俄罗斯方块,加速,开始,暂停等

2011-12-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除