自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 poj2594点可重复的最小路径覆盖

点可重复的路径覆盖问题用匈牙利算法+floyd闭包来求解。#include #include #include #include #include #include #include #include #include #define MAX 550using namespace std;bool map[MAX][MAX],used[MAX];int mat[MAX]

2012-09-27 20:50:03 353

原创 poj1795Median Weight Bead传递闭包

传递闭包:形象来说,就是1->3->5,2->3->4,可以分化成1->5,2->4.#include #include #include using namespace std;int g[110][110];void floyd(int n){ int i,j,k; for(k=1;k<=n;k++) for(i=1;i<=n;i++)

2012-09-27 20:20:25 481

原创 poj1548最小路径覆盖

题意:用机器人去清扫垃圾,机器人只能向下、右走,到右下角结束,问最少需要多少个机器人能够覆盖到图中所有垃圾。分析:典型的最短路径覆盖,最少需要多少条路径覆盖到所有的点。#include #include using namespace std;const int oo=1e9;const int mm=1e6;const int mn=6666;int node,src,des

2012-09-26 21:03:47 325

原创 poj3216Floyd+最小路径覆盖

题意:整个城市分为Q个区,一个Repairing Company有M个任务,每个任务有三个值,pi-在哪个区,ti-用户要求开始的时间,di-完成任务需要花费的时间。分析:一个典型的最小路径覆盖,问需要多少个staff来完成这些任务,就是要有多少条路径来覆盖到图中所有的点。#include using namespace std;const int mm=555555;const int

2012-09-26 20:30:20 316

原创 poj2060最小路径覆盖

俄罗斯套娃,如果i能装到j里面,则从i到j建一条有向边,问最后能看到几个娃娃,即需要多少条路径能够覆盖到所有节点。#include using namespace std;const int oo=1e9;const int mm=111111;const int mn=999;int node,src,dest,edge;int ver[mm],flow[mm],next[mm]

2012-09-26 16:53:21 280

原创 hdu1151有向无环图的最小路径覆盖

题目大意:在一个城镇,有m个路口,和n条路,这些路都是单向的,而且路不会形成环,现在要弄一些伞兵去巡查这个城镇,伞兵只能沿着路的方向走,问最少需要多少伞兵才能把所有的路口搜一遍。分析:就是求几条路径能覆盖到图中所有的点,即最小路径覆盖问题。有向无环图的最小路径覆盖数=m-匹配数。#include #include using namespace std;const int o

2012-09-25 21:09:59 467

原创 nefu481有向无环图的最小路径覆盖

对于一个路径覆盖,有如下性质:1、每个顶点属于且只属于一个路径。2、路径上除终点外,从每个顶点出发只有一条边指向路径上的另一顶点。所以我们可以把每个顶点理解成两个顶点,一个是出发,一个是目标,建立二分图模型。该二分图的任何一个匹配方案,都对应了一个路径覆盖方案。如果匹配数为0,那么显然路径数=顶点数。每增加一条匹配边,那么路径覆盖数就减少一个,所以路径数=顶点数- 匹配数。要想

2012-09-25 20:30:50 334

原创 nefu476最大权闭包图(网络流)

一、太空飞行计划问题Time Limit 1000 msMemory Limit 65536 kbdescriptionW 教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。实验Ej 需要用到的仪器是I 的子

2012-09-24 20:47:23 852

原创 nefu475二分图的匹配

飞行员配对方案问题Time Limit 1000msMemory Limit 65536Kdescription 第二次世界大战时期,英国皇家空军从沦陷国征募了大量外籍飞行员。由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员

2012-09-24 19:58:14 452

原创 nefu474二分图的最大匹配

题意:给你n头牛,和m个墙,每头牛有自己喜欢的墙,要求每堵墙只能有一头牛,求最多的匹配数 分析:这题的最大流模型不是那么明显了,我们首先根据样例画出题目的图,如下:我们仔细的分析,题目要求最大的匹配数,也就是通过左边的点,从右边的点穿出,使得穿出的个数最多,每个点只能穿过一次,怎么看起来和最大的流量那么像?我们在图中加个源点和汇点看看:没错,有了源点和汇点,

2012-09-24 19:49:41 301

原创 nefu473最大流

题意:就是给出各个边的最大流量,和起点终点,求最大流分析:这题就是最普通的最大流,明显的给出最大流模型,通常我们都是在纸上画出最大流的模型,然后根据模型来建图,并计算规模,这题题目给的图就是最大流模型,所以直接套用模板就行了。#include #include using namespace std;const int oo=1e9;const int mm=111111;c

2012-09-24 19:46:33 279

原创 poj1797最大生成树

题目很简单,就是最大生成树的应该,最好玩的是居然PE了,我都好长时间没见过这个了,居然不认识了,想了好半天才想出来,原来是格式错误哦。。。#include #include #include using namespace std;const int oo=1e9;const int mm=1111;int arr_list[mm][mm],point[mm],lowcost[mm

2012-09-21 21:03:15 323

原创 hdu4289最小割

题意:一个小偷要从s市逃到d市,警察可以在任意一个城市逮捕他们,但是需要花费不同的钱,问在保证一定能够抓到小偷的情况下的最小花费是多少。分析:每个城市都有一个花费,故进行拆点,在a,a+n之间连一套容量为cost[i]的线段。另外,两个相连通的城市,在(a+n,b),(b+n,a)之间连一条容量为无穷的边,最后求从s到d+n的最大流即可。#include #include using

2012-09-18 20:35:12 568

原创 hdu4288线段树

题意:给三种操作,一种是想有序序列中加一个数,一个是向有序序列中删除一个数,还有一种是求这个有序序列中mod 5==3的数据之和。思路:建立一颗线段树,每个线段树都有6个域,mod[0...4]还有一个num[]用来记录每个区间内的个数。难点在于更新时。#include #include #include using namespace std;#define lson l,m,r

2012-09-18 14:23:43 328

原创 hdu4305生成树计数问题

Matrix-Tree定理,用来解决生成树计数问题。1、G的度数矩阵D[G]是一个n*n的矩阵,当i!=j时,D[i][j]=0;否则等于第i个点的度数。2、G的邻接矩阵A[G],相连即为1,否则为0.3、Kirchhof矩阵C[G]=D[G]-A[G]4、Matrix-Tree定理:G的所有不同的生成树的个数等于Kirchhof矩阵的n-1阶行列式的值。5、运用高斯消元求得行

2012-09-15 20:04:15 417

转载 hdu4280isap

#include#include#includeusing namespace std;const int oo=2e9;const int mm=222222;const int mn=111111;int node,src,dest,edge;int ver[mm],flow[mm],next[mm];int head[mn],work[mn],h[mn],q[mn],gap

2012-09-13 09:42:33 289

原创 hdu4284搜索+Floyd

题目:给出一些城市,从1出发,旅游一圈回到1,由于花费可能不够,所以选择一些城市打工,打工之前需要花费d买一个证,工资为c。选中的城市必须去工作一次,而且只能工作一次,问能不能完成旅行#include #include #include using namespace std;const int oo=1e8;int g[110][110];int a[110],c[110],

2012-09-12 19:52:10 286

原创 hdu4287map应用

#include #include #include #include #include using namespace std;char b[6];int aa[5050];char mp[512];int tonum(char b[]){ int ret=0; for(int i=0;b[i]!='\0';i++) ret=ret*10+mp

2012-09-11 11:04:54 290

原创 hdu4282枚举

题意:X^Z + Y^Z + XYZ = K,问一共有多少种满足这个条件的x,y,z。当z=2时,(x+y)^2=k,则有(sqrt(k)-1)/2种方案。又由于z#include #include using namespace std;long long pow(long long x,int z){ long long tmp=x; for(int i=2

2012-09-11 09:35:02 344

原创 hdu4279数论

题目描述:一个既不是与n互质的数,也不是n的因子的数的个数称为n的special number,如果这个special number是奇数,则他是一个real number,给定一个区间[x,y],求这个区间内real number 的个数。题目分析:设phi(n)是与n互质的数的个数,g(n)是n的因子数,f(n)是题目描述的special number。则n=phi(n)+f(n)+g(n

2012-09-11 09:00:06 258

原创 长春网络赛hdu4272LianLianKan

特别水的一道题,关键题目描述有问题,应该5步也可以。。。#include #include #include using namespace std;int a[1010];int main(){ int n,f,i,j,num; while(~scanf("%d",&n)) { memset(a,-1,sizeof(a));

2012-09-08 19:23:25 1210 1

原创 hdu3986枚举+最短路

就是一道求次短路的题目。#include #include #include using namespace std;const int oo=1e8;const int mm=1100;const int mn=100010;int ver[mn],next[mn];int head[mm],dis[mm],p[mm],q[mn],d[mm][mm][2];bool vis

2012-09-06 19:57:11 328

原创 hdu3873带节点保护的最短路

题意:有一个图,如果有其他顶点保护着它,则它不能到达。思路:到达某一点的时间一定是起点到达的最短路和它的保护限制的最大值。#include #include #include using namespace std;const long long oo=99999999999999LL;const int mn=3300;const int mm=77000;int ver[

2012-09-05 20:55:23 339

原创 hdu3666差分约束系统

题意:一个n*m的矩阵,两个数组a,b。矩阵中的每个元素L这是一个差分约束的问题,将不等式变为Xij*Ai-U*Bj#include #include #include #include using namespace std;const int oo=1e8;const int mn=161000;const int mm=961000;int edge,n,m;dou

2012-09-05 16:30:23 779

原创 hdu1531差分约束系统

题意:求一组不等式是否有解,这些不等式要么是Xa+X(a+1)+.......+XbXa+X(a+1)+.......+Xb>k令Ti=X(0)+....X(i-1),则不等式变为Tb-T(a-1)注意的是:=是求最长路#include #include #include using namespace std;const int oo=1e8;const int mn=12

2012-09-04 15:02:18 529

原创 hdu1384差分约束系统

差分约束系统:有一组或多组Xj-Xi题意:构造一个集合,这个集合内的数字满足所给的n个条件,每个条件都是指在[a,b]内至少有c个数在集合内。为了构造不等式,我们假设Ti表示[0,i-1]区间内,要选多少个数,这样就形成了三个约束条件。Tb+1-Ta>=C, 0=#include #include #include using namespace std;const int

2012-09-03 21:46:31 296

原创 poj1062最短路

http://hi.baidu.com/aekdycoin/item/33b1f1e80efc8ce7fa42baa5这个博客写的思路真的很好。题目的本质是有限制条件的最短路,既最短路路径上的所有点的差的绝对值不能大于M 做法是1.新增一个节点Vn,对于所有的物品,建边Vn->Vi(02.对于所有的附属物品,建边Vj->Vi(j是i的附属物品)3.枚举点Vi(0

2012-09-02 16:19:46 333

原创 hdu1245最短路+控制精度

这个题做的意义不大,找错得找好长时间。我的想法是以原点为0,边界能够到达的点为n+1,n+2.......然后求从0到n+1.n+2......的最小值#include #include #include #include #include using namespace std;const double oo=1e9*1.0;const int mn=2500;const

2012-09-02 09:22:30 424

原创 poj1222高斯消元基础题

题意:一个5*6的矩阵,每个点只有0、 1两个状态,如果一个点的状态改变,则它周围的状态都会改变。问需要怎么按灯使得灯全灭。以每个灯列一个方程,a[i*6+j][i*6+j]以及上下左右四个点均为1,其他点系数为0,等于a[i][j]异或0.#include #include #include using namespace std;const int maxn=300;int

2012-09-01 10:08:22 1511

并查集入门

并查集入门的好资料,供acm初学者学习使用。

2012-03-01

空空如也

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

TA关注的人

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