04 2013 档案

HDu Battle
摘要:1 #include <iostream>//最大权闭合子图模板题 2 #include<cstdio> 3 #include<cstring> 4 #include<vector> 5 #include<queue> 6 #include<algorithm> 7 using namespace std; 8 #define min(a,b) ((a)<(b))?(a):(b) 9 #define max(a,b) ((a)>(b))?(a):(b) 10 #define MAXN 1111+10 11 #d 阅读全文

posted @ 2013-04-24 22:53 ACM_Someone like you 阅读(221) 评论(0) 推荐(0) 编辑

hdu Marriage Match II
摘要:1 /* 2 hdu Marriage Match II 3 题意:n个女孩有n个不是敌对的男孩 其中f对女生彼此是朋友 可以传递的(暗示并查集) 4 每个女生i也可以和她女朋友j的不敌对的男朋友b配对 每一轮匹配都可以一一对应不重复 5 问最多可以有几轮M(最大最小 暗示 二分匹配)。 6 思路:最大流 建图 totals=n+n+2;end=2n+1; 7 start和女生节点建边 addedge(start,i,M);//边容量为M 8 男生汇聚终点 addedge(i+n,end,M);//边流量为M ... 阅读全文

posted @ 2013-04-24 22:36 ACM_Someone like you 阅读(208) 评论(0) 推荐(0) 编辑

HDU2485 Destroying the bus stations (POJ3921)
摘要:1 /* 2 题意:军队坐bus去机场 n个节点(bus)m条公交通路(单向) 3 每走一条路花时间1 问最少破坏几个结点(是相关联的的路都不能走) 4 使军队在至少k时间不能到达机场。 5 思路:求最小割(等于最大流) 6 建(新)图:弗洛伊德求出任意两点最短路(dist[a][b]) 7 核心判断dist(1,a)+dist(b,n)之和满足小于k 则建边addedge(n+a,b,INF) 8 9 addedge(i,i+n,1);//注意方向 10 11 start=n+1,end=n;totals=n+n; 12 sap();即可。 13 */ 14 #inc... 阅读全文

posted @ 2013-04-23 19:46 ACM_Someone like you 阅读(338) 评论(0) 推荐(0) 编辑

hdu 3879 Base Station
摘要:1 做得还算麻利~ 2 /*最大闭合子图 3 题意:建通讯站。每个通讯站有一定耗费,两个特定的通讯站之间建立通讯以后 4 会有一定收益,问怎样建立通讯站可以使得收益最大 。 5 ——最大权闭合子图->最小割 6 ——url:http://acm.hdu.edu.cn/showproblem.php?pid=3879 7 思路: 8 首先考虑将图转化。 9 即一条通讯线路有一定收益wi(即为正点权),但需要建立两个通讯站, 10 这两个通讯站有一定造价pi(即为负点权)。 11 将通讯线路也变成点,点权为收益,连两条有向只向两个通讯站。 12 原来的通讯站点权不变。则star... 阅读全文

posted @ 2013-04-22 21:19 ACM_Someone like you 阅读(229) 评论(0) 推荐(0) 编辑

hdu 3917 Road construction
摘要:1 /* 2 hdu 3917 Road constructions 最大权闭合图 3 题意:n个城市 m个工程公司修路 每个公司要交税收 有k个路段 分别花销cost 4 当如果选择了某个公司,该公司负责的所有的路都要选,还有如果1->2的路由公司A负责, 5 2->3的路由公司B负责,那么如果选了公司A就必须选公司B, 求最大的收益 6 建图:税收为正权值、cost为负权值 start连所有公司m end连所有公司m 7 规则要求联系的公司之间为INF eg addedge(a,b,INF);该处解决方法建结构体详见具体代码 8 ... 阅读全文

posted @ 2013-04-22 21:18 ACM_Someone like you 阅读(351) 评论(3) 推荐(0) 编辑

Hdu Flow Problem
摘要:View Code 1 #include <iostream> 2 #include<cstdio>//最大流SAP 3 #include<cstring> 4 #include<vector> 5 #include<queue> 6 #include<algorithm> 7 using namespace std; 8 #define min(a,b) ((a)<(b))?(a):(b) 9 #define max(a,b) ((a)>(b))?(a):(b) 10 #define MAXN 200 11 阅读全文

posted @ 2013-04-18 23:03 ACM_Someone like you 阅读(252) 评论(0) 推荐(0) 编辑

Hdu Task Schedule
摘要:View Code 1 #include <iostream>//SAP 最大流应用 2 #include<cstdio> 3 #include<cstring> 4 #include<vector> 5 #include<queue> 6 #include<algorithm> 7 using namespace std; 8 #define min(a,b) ((a)<(b))?(a):(b) 9 #define max(a,b) ((a)>(b))?(a):(b) 10 #define MAXN 1111 阅读全文

posted @ 2013-04-18 23:01 ACM_Someone like you 阅读(254) 评论(0) 推荐(0) 编辑

Hdu Drainage Ditches
摘要:View Code 1 /* 2 http://acm.hdu.edu.cn/webcontest/contest_showproblem.php?pid=1001&ojid=0&cid=4456&hide=0 3 4 hdu Drainage Ditches 5 */ 6 #include <iostream> 7 #include<cstdio> 8 #include<cstring> 9 #include<vector> 10 #include<queue> 11 #include<algorith 阅读全文

posted @ 2013-04-18 22:57 ACM_Someone like you 阅读(209) 评论(0) 推荐(0) 编辑

uva 10917 - Walk Through the Forest
摘要:刷刷水 牛人们说 可是我连水都觉得难 只得向牛人们学习 希望日积月累后 我的图论水平也可以自豪地说“ 刷刷水”View Code 1 /* 2 题意:jimmy下班需要穿过一个森林。劳累一天后在森林中漫步是见非常惬意的事, 3 所以他打算每天沿着不同的路径回家,欣赏不同的风景。但他也不想太晚回家, 4 因此他不打算走回头路。换句话说,他只沿(A,B)走, 5 存在一条从B出发回家的路径比所有从A出发回家的路径都短。 6 你的任务是计算一共有多少条不同的回家路径 7 分析: 首先求每个点到家的最短路d[u];//dijkstra 8 深搜 每个点出发有几条可行路径... 阅读全文

posted @ 2013-04-17 19:15 ACM_Someone like you 阅读(228) 评论(0) 推荐(0) 编辑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8
点击右上角即可分享
微信分享提示