自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 poj 3155 (最大密度子图)

题意:一个公司有n个人,给出了一些有冲突的人的对数(u,v),公司决定裁人,那么总裁现在要裁掉冲突率最高的那些人(冲突率=在这些人中存在的冲突数/人数)。就是求出一些点,这些点之间的边数/点数最大。最大密度子图。思路:胡伯涛的论文《最小割模型在信息学竞赛中的应用》介绍了两种方法:第一种:转换为最大权闭合图的模型来求解:设max g = f(x)= |E‘|/|V’| ,找一个子图的

2013-09-27 17:19:34 2081

原创 poj 1966 (最小割点集)

题意:一个网络的安全系数是最少删除几个点后使得剩下的图不连通,给出一个无向图,求出该网络的安全系数。思路:看了最小割模型论文,最小割点集就是把点分成两部分,一部分跟源点相连,一部分与汇点相连,这题就是求出最小割集,但是没有源点和汇点,要枚举。原图的每条边的流量为inf,因为经过一个点的流量为1,所以要拆点,i->i'的流量为1,求出最小的最大流就可以了。

2013-09-24 23:05:53 1637 1

原创 poj 3308 (最大流)

题意:n*m的地图,给出L个火星人登陆的坐标,要在火星人登陆地球的瞬间全部消灭他们,有一种激光枪,一次可以消灭一行(或一列),消灭一行(或一列)有不同的代价,总代价是所有激光枪的代价之积。思路:之前做过类似的题是求最少多少次能消灭,而最少的次数不一定是代价最小的,行跟列建立二分图,每个火星人就是一条边,就是选一些点覆盖所有的边,这些点的权值之积最小,如果是求和的话就是二分图的最小点权覆盖集了,

2013-09-24 23:05:38 1091

原创 poj 2446 (二分匹配)

题意;除了所给的一些点外,问能不能用1*2的矩形覆盖所有的点,矩形间不能重叠。思路:简单二分匹配,手速,,,,,,#include#includeconst int N=1200;int match[N],link[N],map[35][35],n,m;int dir[4][2]={0,1,0,-1,1,0,-1,0};int find

2013-09-24 21:37:38 748

原创 poj 3216 (最小路径覆盖)

题意:有n个地方,m个任务,每个任务给出地点,开始的时间和完成需要的时间,问最少派多少工人去可以完成所有的任务。给出任意两点直接到达需要的时间,-1代表不能到达。思路:很明显的最小路径覆盖问题,刚开始脑子抽了,没求最短路直接就做了,题目只给了两点间直接到达的时间,还可以间接到达,用floyd求出最短路。。。#include#includeco

2013-09-24 21:37:29 909

原创 poj 3352 (双联通缩点)

题意:给出一个无向联通图,求最少添加几条边让图是双联通图。思路:先Tarjan缩点,(求出度数为1的双联通分量的个数+1)/2;#include#includeconst int N=1100;int dep[N],dfs[N],low[N],ans,idx,head[N],num;struct edge{ int st,ed,nex

2013-09-24 10:06:27 885

原创 poj 2942 (点双联通+判断二分图)

题意:亚瑟王要在圆桌上召开骑士会议,为了不引发骑士之间的冲突,并且能够让会议的议题有令人满意的结果,每次开会前都              必须对出席会议的骑士有如下要求:           1:相互憎恨的两个骑士不能坐在直接相邻的2个位置;           2:出席会议的骑士数必须是奇数,这是为了让投票表决议题时都能有结果。          现在给定准备去开会的骑

2013-09-23 17:58:12 1194 1

原创 poj 2516 (费用流)

题意:有N个供应商,M个店主,K种物品。每个供应商对每种物品的的供应量已知,每个店主对每种物品的需求量的已知,从不同的供应商运送不同的货物到不同的店主手上需要不同的花费,又已知从供应商m送第k种货物的单位数量到店主n手上所需的单位花费。供应是否满足需求?如果满足,最小运费是多少?思路:这题一读完就知道是费用流了,刚开始想着拆点,不过算了一下,把m个供应商拆成m*k个点,n个店主拆成n*k个点,

2013-09-19 23:07:44 903

原创 poj 2186 (强连通缩点)

题意:有N只奶牛,奶牛有自己认为最受欢迎的奶牛。奶牛们的这种“认为”是单向可传递的,当A认为B最受欢迎(B不一定认为A最受欢迎),且B认为C最受欢迎时,A一定也认为C最受欢迎。现在给出M对这样的“认为...”的关系,问有多少只奶牛被除其本身以外的所有奶牛关注。思路:既然有单向传递关系,那么关系图可能就形成了环,一个环内的奶牛互相认为。如果把这些环用一个点代替的话,建反图,就成了一个有向无环图了

2013-09-19 23:06:38 932

原创 poj 3436 (最大流)

题意:每台电脑共有p种零件,现在有n台机器,给出n台机器每台需要的一些种类零件当原料(0代表不需要,1代表必须要,2代表              可有可无)和输出的产品零件。问怎么安排生产线使生产出来零件可以组装的电脑最多。思路:如果机器的原材料什么都不需要的话就可以当源点,如果机器输出的零件种类为p就可以当汇点。刚开始想复杂了(1 0 1 可            以同时跟1 0 0和0

2013-09-19 21:14:14 872

原创 poj 3020 (二分匹配)

题意:给出一些城市的坐标,每个信号基站可以覆盖两个相邻的点,问最少要建多少个基站。思路:我们要尽可能多的建立能覆盖两个城市的基站(二分匹配最大匹配),剩下的城市每个城市建立一个基站。先求出最大匹                配数k。n-k*2+k=n-k;#include#includeconst int N=500;int head[N],nu

2013-09-19 19:40:45 813

原创 poj 3041 (最大匹配)

题意:给出一些危险小行星的位置,一次能消灭一行或一列的小行星,为最少多少次能消灭完。思路:就是行跟列的最大匹配.#include#includeconst int N=510;int map[N][N],match[N],link[N],n;int find(int i){ int j; for(j=1;j<=n;j++) { if(map[

2013-09-18 21:24:26 930

原创 poj 1094 (拓扑排序)

题意:给出n个字母的一些大小关系,判断能否拓扑排序或者出现了矛盾,如果是这两种情况要求出到第几组关系时就可以得到。否            则就是所给数据不完全。思路:每读一组关系进行一次拓扑排序,如果排序成功或者出现矛盾记录第几组关系之后就不拓扑排序了,直接读完数据就行了。#include#include#includeconst int N=30;u

2013-09-18 21:19:05 853

原创 poj 1789 (最小生成树)

题意:给出n个卡车,每个卡车的类型是七个字符组成的,一种卡车可以从另一种卡车派生来的,代价是两种卡车间类型不同字符的个数,求出这n中卡车派生的最小代价,n种车有一 种是开始就有的,n-1种是派生出来的。思路:因为刚开始有一种卡车,所以就是加n-1条把所有车连起来,就是最小生成树了。。#include#include#includeconst int N=2

2013-09-18 21:09:31 931

原创 poj 1125 (求起点的最短路)

题意:有n个人每个人可以把谣言传给一些人,传给每个人有一定的时间,求出你把谣言传给谁,让所有的人都知道的时间最短。思路:枚举每个点为起点,到所有点的距离的最大值就是该点为起点所消耗的时间,求出最小值就可以了,因为给的n较小,直接             floyd就可以了。。#include#includeconst int N=110;const int

2013-09-18 20:54:42 949

原创 poj 2253 (二分+判断图连通)

题意:给出n个岛的坐标,要从第一个到跳到第二个岛,跳的时候有个距离限制,求出这个距离的最小值。思路:刚开始限制距离为两岛的直接距离,用二分每得到一个距离mid,判断1个2是否能连通。就求出最小的限制距离了。#include#include#includeconst int N=210;int f[N],n;double map[N][N];s

2013-09-18 20:45:43 940

原创 poj 3259 (Bellman_Ford判断负环)

题意:John的农场里n块地,m条路连接两块地,n个虫洞,虫洞是一条单向路,不但会把你传送到目的地,而且时间会倒退Ts。我们的任务是知道会不会在从某块地出发后又回来,看到了离开之前的自己。思路:虫洞连接的边是负权值的,如果途中存在一个负环的话,他可以沿着这个换一直走,时间肯定为负值。#include#includeconst int N=510;c

2013-09-16 16:35:01 963

原创 poj 1860 (Bellman_Ford判断正环)

题意:给出n种货币,m中交换关系,给出两种货币汇率和手续费,求能不能通过货币间的兑换使财富增加。用Bellman_Ford 求出是否有正环,如果有的话就可以无限水松弛,财富可以无限增加。#include#includeconst int N=110;const int inf=0x3fffffff;int start,num,n;double dist

2013-09-16 16:13:17 876

原创 hdu 4738 (双联通求桥)

2013 ACM/ICPC Asia Regional Hangzhou Online题目大意:有n个岛,曹操在一些岛之间建了一些桥,每个桥上有一些士兵把守,周瑜只有一个炸弹只能炸掉一个桥,炸弹需要士兵                   带过去,士兵的数量不能小于目标桥的守卫,求出最少要派出多少士兵。比赛一开始yyf就跟我说第一题是联通题,把题意跟我说了一下,我就知道是双联通求桥,但

2013-09-16 12:46:49 1224

原创 hdu 3290 (简单dfs)

题意:没有儿子的节点所结苹果数是节点的编号,有儿子的所结苹果是儿子数量(k+1)/2个,求跟节点的苹果数直接递归一下,先求出所有儿子的苹果树,在排序,,刚开始以为1就是根节点,根节点不确定,,#include#include#includeconst int N=20010;int w[N],vis[N],head[N],num,p[N];struct e

2013-09-09 18:38:08 1232

原创 URAL 1056(树形DP)

1056. Computer NetTime limit: 2.0 secondMemory limit: 64 MBBackgroundComputer net is created by consecutive computer plug-up to one that has already been connected to the net. Each new

2013-09-09 17:35:50 916

原创 URAL 1018 (金典树形DP)

连接:1018. Binary Apple TreeTime limit: 1.0 secondMemory limit: 64 MBLet's imagine how apple tree looks in binary computer world. You're right, it looks just like a binary tree, i.e. any

2013-09-09 16:18:46 1037

空空如也

空空如也

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

TA关注的人

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