自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 hdu1241 Oil Deposits(dfs&&bfs)

这又是一个练习bfs和dfs的非常好的题目,找油井的个数,8个方向只要有,就算同一个,问有多少个下面是dfs的,没什么可说的#include <iostream>#include <string.h>using namespace std;char s[105][105];int n,m;int xx[8][2]={{0,1},{0,-1},{1,0},{-1,0},{1,-1},{1,1

2016-09-23 10:12:50 1436

原创 hdu4811(思维题)

刚看到这道题目的时候没有看懂,后来发现自己读错题了。。。。 这道题是说有三种颜色的球,有一个平台,规则是,第一个球不得分,放在最后的球的得分是他前面的球的颜色的种类和,第三种,是在两个球之间插一个球,它的得分是,它前面的颜色种类和和它后面的颜色种类和,那么肯定是后面这种得分多,当出现2,2,2,的时候是最完美的,但是如果有的种类不足两个那么怎么办呢,把不超过2的,记录它现在的数目,超过2的当2坐底

2016-09-21 20:36:17 708

原创 hdu4802(stl)

这道题目虽然是个水题,但是我当时并不会用map,后来补了一下 map版#include <iostream>#include <map>#include <stdio.h>using namespace std;map<string,double>mp;void init(){ mp.insert(pair<string,double>("A",4.0)); mp.in

2016-09-21 20:25:07 271

原创 hdu4807Lunch Time(费用流)

题意:在一个有向图当中,现在每一条边带有一个容量,现在有K个人在起点,需要到终点去吃饭,询问这K个人最后一个人到达食堂的最小时间是多少。 想法:联想到普通的网络流,那么我们网络流可以很轻松的求出两个点之间的最大容量是多少,但是现在的问题就是刚开始在起步的时候那么最开始的容量是不可能到达最大的,因为人还在途中,假设我们从时间角度来分析这个问题,再联想到我们网络流求法,费用流当中,求出来的就是当然费用

2016-09-21 15:12:08 407

原创 hdu2586(LCA)

几乎就是求距离的模板题#include <iostream>#include <string.h>#include <stdio.h>using namespace std;const int N=40005;const int M=25;int dp[N*2][M];bool vis[N];struct edge{ int u,v,w,next;} e[2*N];in

2016-09-19 21:22:41 615

原创 hdu5889Barricade(最短路+网络流)

Barricade Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 219 Accepted Submission(s): 57Problem Description The empire is under attack aga

2016-09-18 21:50:43 518

原创 hdu5883The Best Path(欧拉通路&&欧拉回路)

给你一个图 每条边都只能走一次,而且必须走 每个点有个权值 最后算经过路径的点的XOR 有两种情况,第一种是欧拉回路,那么一定有起点多走了一次,然后找出最大值就可以了 第二种情况是欧拉通路,如果这个点入度是奇数,那么先把这个点进行异或运算,然后入度减掉1,然后跑所有点,如果当前这个点的入度此时除以2之后对2取余为1,那么就对这个点进行异或运算,否则的话则不用了,为什么要这样做呢,比如

2016-09-18 21:44:02 729

原创 Gym 100703A(最小生成树)

这道题题意就是给你n个长度为m的字符串,然后每两个字符串之间的距离是对应的每位的距离的最大值,然后把这些字符串连成一棵树,问这棵树最大边的最小值,其实就是求最小生成树的最大边,代码如下#include <iostream>#include <string.h>#include <algorithm>using namespace std;const int maxn=1005;const

2016-09-16 16:37:34 289

原创 poj3164 Command Network(最小树形图模板题)

Command Network Time Limit: 1000MS Memory Limit: 131072K Total Submissions: 12834 Accepted: 3718 Description After a long lasting war on words, a war on arms finally breaks out between

2016-09-16 16:21:12 459

原创 网络流24题之最小路径覆盖问题(nefu481)

【问题分析】有向无环图最小路径覆盖,可以转化成二分图最大匹配问题,从而用最大流解决。【建模方法】构造二分图,把原图每个顶点i拆分成二分图X,Y集合中的两个顶点Xi和Yi。对于原图中存在的每条边(i,j),在二分图中连接边(Xi,Yj)。然后把二分图最大匹配模型转化为网络流模型,求网络最大流。最小路径覆盖的条数,就是原图顶点数,减去二分图最大匹配数。沿着匹配边查找,就是一个路径上的点,输出所有路径即可

2016-09-13 15:42:15 1192

原创 poj2195Going Home(费用流或KM算法)

这道题目是比较简单的模板题,我用了两种方法写了一下,需要注意的是用KM算法写的时候,因为这个算法本身求得是二分图最大权匹配,而这道题求的是最小,那么应该在加边的时候把权值乘负一#include <iostream>#include <stdio.h>#include <stdlib.h>#include<string.h>#include<algorithm>#include<math.h

2016-09-12 19:15:29 436

原创 hdu5876 Sparse Graph(补图的最短路)

这道题目是补图最短路,是点(数据很大)然后把原图变成另一半,然后求源点到其他点的最短路,这道题如果硬来的话一定是超时的,这是不用想的,毕竟200000个点的话,边本来是5500条,但是要是找补图的边的话那就是20万*20万-5500,大概是这么多,这实在是太多了,肯定是不行的,所以呢暴力枚举所有点,如果与起点相连的边不在原图中,那么距离就是起点的距离+1,然后用BFS再把这些点设为起点,再枚举剩下的

2016-09-11 21:48:36 393

原创 网络流之方格取数问题nefu482

分析(引用 BYvoid大牛的分析): 二分图点权最大独立集,转化为最小割模型,从而用最大流解决。 建模方法: 首先把棋盘黑白染色,使相邻格子颜色不同,所有黑色格子看做二分图 X集合中顶点,白色格子看做Y集合顶点,建立附加 源 S汇T。 1、从 S向 X 集合中每个顶点连接一条容量为格子中数值的有向边。 2、从 Y集合中每个顶点向 T 连接一条容量为格子中数值的有向边。 3、相邻黑白格

2016-09-09 11:07:13 417

原创 网络流24题之飞行员配对方案问题(nefu475)

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

2016-09-07 10:24:21 377

原创 nefu474The Perfect StallHal Burch(最大流)

这道题目其实用二分图是可以写的,我是想练练网络流,所以就用这个写一下有了源点和汇点,源点到左边每个的流量都是1,也就是只能通过1 次,汇点也类似,而左边的点到右的点对应的边的边容量为1,就这样,这道题成功转换为最大流问题,建图后最大流解决#include<stdio.h>#include<iostream>using namespace std;const int oo=1e9;/**oo

2016-09-07 10:14:03 326

原创 网络流24题之太空飞行计划问题(nefu476)

DescriptionW教授正在为国家航天中心计划一系列的太空飞行。每次太空飞行可进行一系列商业性实验而获取利润。现已确定了一个可供选择的实验集合E={E1,E2,…,Em},和进行这些实验需要使用的全部仪器的集合I={I1,I2,…In}。实验Ej需要用到的仪器是I的子集。配置仪器Ik的费用为ck美元。实验Ej的赞助商已同意为该实验结果支付pj美元。W教授的任务是找出一个有效算法,确定在一次太空飞

2016-09-07 10:04:10 344

原创 poj1273&&nefu473Drainage DitchesHal Burch(最大流)

这题是标准的入门模板题,不过因为点是从0开始的,而这道题目是没有0的,所以要不然就在prepare语句那里写成prepare(m+1,1,m),要不然就从0开始,把每个点减一#include<stdio.h>#include<iostream>using namespace std;const int oo=1e9;/**oo 表示无穷大*/const int mm=111111111;

2016-09-05 11:28:58 282

原创 hdu5855Less Time, More profit(网络流)

多校的网络流题目,当时太菜没想出来该如何建边,拖了好久才写完,哎,效率不是一般的低啊 题意:给N个工厂,修建每个工厂需要pay[i]的花费,t[i]的时间。 给M个商店,每个商店能带来pro[i]的收益,但需要特定的k个工厂为它供货。 现在给出一个L,要求给出一个方案,使修建工厂所花费的时间最小,同时满足收益大于等于L且收益尽可能大。 思路是:先把时间排个序,然后反正一共200个时间,枚举一

2016-09-01 22:45:44 351

空空如也

空空如也

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

TA关注的人

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