自定义博客皮肤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)
  • 收藏
  • 关注

原创 poj 3013 Big Christmas Tree(最短路问题)

http://poj.org/problem?id=3013 题目大意: 意思大概是给你一张图,图中的每个顶点都有权值,顶点之间的边也有权值; 源点为顶点1; 定义连接顶点n(n!=1)的费用为,顶点n到顶点n的最短距离×顶点n的权值; 问构建一棵包含所有顶点的树的最小费用为多少,若是存在无法连接到的点输出No Answer; 思路: 题目不难,简单的最短路的应用;但

2013-08-16 10:19:02 518

原创 MNNUACM--暑假训练之二分图

Problem 1001(HDU 1083 Courses) 题目大意: 给你p门课程和n个学生,一个学生可以选0门,1门,或者多门课程,现在要求一个由p个学生组成的集合,满足下列2个条件: 1.每个学生选择一个不同的课程 2.每个课程都有不同的代表 如果满足,就输出YES 思路: 二分图的最大匹配; 学生和课程分别为定点集合vx vy 把学生和他喜欢的的课程连一条边

2013-08-08 09:43:34 796

原创 poj 2226 Muddy Fields(二分图)

http://poj.org/problem?id=2226 题目大意: 一个农场为R × C的矩阵,其中 * 号的地方为泥巴地;现在要用宽度为1,长度不限的模板覆盖住所有的泥巴地,且不能覆盖到草地,问最小要几块; 思路: 看题目很自然的想到二分图的行列匹配法,这题只是稍微加点处理就行; 把同一行或者同一列的泥巴地看成是一个点,用行列匹配法求解最大匹配就是答案;

2013-08-07 10:57:18 404

原创 poj 1637 Sightseeing tour(混合欧拉回路)

http://poj.org/problem?id=1637 题目大意: 大概就是给出城市内n个点和s条边,并且告诉你边是单向还是双向的; 问是否存在一条路线从起点出发经过每个点一次之后回到起点; 思路: 混合欧拉回路,网络流的经典建图题目; 下面是这个博客写的关于混合欧拉回路的 写的很好:http://www.cnblogs.com/destinydesigner/a

2013-08-06 22:28:59 511

原创 poj 3308 Paratroopers(最小割)

http://poj.org/problem?id=3308 题目大意: 地球和火星大战,火星人要摧毁我们的一个武器工厂。已知一个火星人就足以摧毁工厂; 现在我们知道l个火星人将会降落在一个m*n的方阵,而我们的激光枪每次开枪可以杀死一行或者一列的火星人; 但是激光枪架设在不同地方的费用是不一样的; 现在给出激光枪分别架设在m行的第一个位置的费用以及架设n列的第一个位置时的费用,

2013-08-05 20:02:21 434

原创 poj 1523 SPF(无向图点的连通性问题)

http://poj.org/problem?id=1523 题目大意: 无向图点的连通性问题; 给出一个无向图,要求求出图中的割点和去掉该割点后图的连通分量个数; 这里解释一下 割点:设V’是连通图G的一个顶点子集,如果在G中删除v‘以及和v’相关联的边后,G不再连通,则称V‘为割点集;如果割点集中只有一个顶点,则这个顶点为割点; 连通分量:当删除某个割点后,原图会被划分为若

2013-08-05 16:51:09 610

原创 poj 2195 Going Home(KM||费用流)

http://poj.org/problem?id=2195 题目大意: 给定一个N*M的地图,地图上有一定数量的m(代表人)和H(代表房子),两者数量相等; 要求求出把所有m移动到H的位置上总距离最小为多少; 思路: 用最优二分匹配或者最小费用最大流都能做,觉得用最优二分匹配会简单一些; 建图把m和H分别作为二分图的两个顶点集合vx和vy,求出两两之间的距离,用k

2013-08-04 19:58:29 495

原创 poj 2516 Minimum Cost(最小费用最大流)

http://poj.org/problem?id=2516 题目大意: 有n个商店,m个仓库,k种商品,给出每个商店对k种商品的需求和每个仓库储存的k种商店库存,要求求出满足供应要求的最小运输费用; 题目的输入: 第一行输入3个整数n,m,k分别代表商店仓库以及商品种类的数量; 接下来n行分别列出每个商店k种商品的需求数量; 接下来m行分别列出每个仓库k种商品的库存数量;

2013-08-04 19:22:23 599

原创 poj 3895 Cycles of Lanes(DFS找最大环)

http://poj.org/problem?id=3895 题目大意: 一个无向图,找出包含顶点个数的环,输出最大顶点个数; 思路: 简单搜索#include #include #define N 5000 using namespace std; int vis[N],n,m; int Max; vector graph[N];//vector存储相连接的点

2013-08-04 14:53:32 699

原创 poj 3422 Kaka's Matrix Travels(最小费用最大流)

http://poj.org/problem?id=3422 题目大意: n*n的矩阵,每个点上面有一个非负整数。 从左上角走到右下角,只能走向下或者向右走; sum=0;走到一个位置就位置上的数字加到sum里面,并且把位置整数变为0; 要求求出最k次能使sum最大为多少。 思路: 最小费用最大流的问题: 觉得建图很难理解,是看了别人思路才知道怎么建图的,要

2013-08-04 11:22:45 540

原创 poj 3469 Dual Core CPU(最小割)

http://poj.org/problem?id=3469 题目大意: SWODNIW的双核cpu包含n个模块,各个肿块在每个cpu中的耗费分别为a和b; 同时m对模块之间需要徐局共享,也就是说需要共享的两个模块不在同一个cpu中运行就要花费w来用于数据共享; 求出最小耗费; 思路: 妥妥的最小割,建图也不难,建立源点s,汇点t,模块作为顶点。 s到每个模块的边容量

2013-08-02 10:37:03 433

原创 HDU 2363 Cycling(枚举+最短路)

http://acm.hdu.edu.cn/showproblem.php?pid=2363 题目大意: n个点,没个点都有不同的高度,同时n个点之间有m条路,题目要求从第1个点到第n个点,在所经过点的最高高度和最低高度的差最小的情况下的最短路径。 思路: 把每个点的高度升序排列,然后枚举各个高度差之间的最短路径,最后去高度差最小的最短路径,题目也就解决掉了,同时题目所给的点n最多

2013-08-01 20:27:05 556

原创 poj 2391 Ombrophobic Bovines(二分+最大流)

http://poj.org/problem?id=2391 题目大意: 农场里面N块地,分别有Ai头奶牛; 地上搭有遮雨棚,棚内可以容纳Bi头奶牛; 农场的N块地之间有P条路径,给出从u到v的路径需要花费时间time[u][v]; 问所有奶牛都到遮雨棚中的最小时间是多少。 思路: 1、把每块地拆成两个点i和i‘ ; 2、建立一个源点s和一个汇点t;

2013-08-01 19:29:24 515

原创 poj 1087 A Plug for UNIX(最大流)

http://poj.org/problem?id=1087 题目大意: 会议室里有n1个插座,n2个电器,n3种适配器; 一种电器对应一种插座,适配器则可以用于转换; 求最好的情况下有多少电器不能适配。 思路: 1、各个电器各自为一个节点,建立一个源点且源点到电器的容量为1; 2、将室内已有的插座各自为一个节点,建立一个汇点且各个插座到汇点的容量为1; 3、电器节点到

2013-08-01 10:31:11 449

原创 poj 2112 Optimal Milking(二分搜索+最大流)

题目链接:http://poj.org/problem?id=2112 题目大意: 有K台挤奶机器(1...K编号)和C头奶牛(K+1...K+C编号),每台挤奶机器可以给M头奶牛挤奶; 给出一个(K+C)*(K+C)的矩阵表示机器和奶牛两两之间的距离; 要求求出把奶牛运送到机器的最大流中的奶牛路径中的最短路径; 思路: 首先对给出的矩阵用Floyd求出机器奶牛两两

2013-07-31 21:16:09 470

原创 poj 2983 Is the Information Reliable?(差分约束)

题目链接:http://poj.org/problem?id=2983 大意: 有n个防卫站,其中有m个关系,这些关系又分为两种; 1、P,a,b,x表示a和b相距x光年; 2、V,a,b表示a和b相距至少1光年; 差分约束系统的建立: 第一种关系: 建立双向边,关系为 dist[a]-dist[b]>=x  &&  dist[a]-dist[b => di

2013-07-31 10:13:52 399

原创 poj 1201 Intervals(差分约束系统)

题目链接:http://poj.org/problem?id=1201 题目大意: 给定n个区间[ai,bi]和区间范围内的整数个数ci,要求求出一个最小整数集合Z,使Z里面的数中在区间[ai,bi]的个数不小于ci个。 思路: 根据题意可以得出, Sbi+1-Sai>=ci ->> Sai-Sbi+1 从而可以得出一组不等式组; 同时存在: Si+1-Si

2013-07-30 23:21:34 442

原创 poj 2449 Remmarguts' Date(A* + dijkstra)

http://poj.org/problem?id=2449 大意: 题目意思很简单,就是给你一张图,要求求出从s点到t点的第k短路; 不懂A*算法的可以去看看这篇文章:http://www.cppblog.com/mythit/archive/2009/04/19/80492.aspx #include #include #include #include usi

2013-07-30 12:10:52 502

原创 poj 1258 Agri-Net

http://poj.org/problem?id=1258 题目意思很简单,给出一个n*n的矩阵代表各个农场之间的距离,求最小生成树就行; 直接prim; #include using namespace std; const int inf=1<<25; int n; int farm_dist[101][101]; int low_dist[101]; bool vis

2013-07-29 20:17:40 397

原创 poj 3026 Borg Maze(搜索+最小生成树)

http://poj.org/problem?id=3026 题目大意: 在一个y行 x列的迷宫中,有可行走的通路空格’ ‘,不可行走的墙’#’,还有两种英文字母A和S,现在从S出发,要求用最短的路径连接所有字母,输出这条路径的总长度。一个格子的长度为1; 思路: 记录途中每个字母的位置,利用搜索求出字母两两之间的距离,构造出图,再求最小生成树; /*BFS + Prim*/

2013-07-29 16:53:59 440

原创 poj 1789 Truck History(prim)

题目链接:http://poj.org/problem?id=1789 将题目转化为最小生成树,求最小权值Q;一个字符串编号为一个顶点,两个字符串之间不相同字符的个数即为边的权值; #include using namespace std; const int inf=1<<26; int n; int graph[2001][2001]; bool visit[2001];//用

2013-07-29 14:30:54 423

原创 poj 2240 Arbitrage

题目链接:http://poj.org/problem?id=2240 大意:给出n种货币和n种货币之间的汇率,问存不存在套汇; 思路:最短路的变形,求出是否存在最大环使得换路径大于1即可; #include #include using namespace std; const int inf=100000; double dist[1000][1000]; char name[1

2013-07-26 12:24:27 346

原创 poj 1135 Domino Effect(Dijkstra)

题目链接:http://poj.org/problem?id=1135 题目大意:有n个多米诺关键牌(1~n)标号,之间有m排多米诺非关键牌相连,要求出把1号关键牌推倒后,最后倒下的关键牌的位置和倒下的时间。 解题思路: 有两种情况: 第一是倒下的最后一张牌刚好是关键牌,第二是倒下的最后一张牌是非关键牌。 以关键牌为顶点,求出1号牌到其他各个牌之间的最短路径(也就是时间);

2013-07-26 10:04:59 414

原创 poj 1042 Gone Fishing

题目链接:http://poj.org/problem?id=1042 题目大意: 有n个湖(1~n),有h个小时的时间。从湖1出发,有选择的在一些湖边停留钓鱼,最后在某一个湖边结束。从第i个湖到第i+1个湖需要走5*Ti分钟,同时在i湖边停留,第一个5分钟可以钓鱼Fi,以后每个5分钟减少Di。求能钓到最多鱼的方法; 思路: 用贪心,每次选一个鱼最多的湖泊钓一次鱼。对于每个湖来

2013-07-25 14:43:19 358

原创 poj 1068 Parencodings(模拟)

题目链接:http://poj.org/problem?id=1068 题目大意: 例如有一个关于括号的符号串(由'('和')'组成)S; 现在给出数列p代表,符号串中每个右括号的左边有几个左括号; 要求求出数列w代表,每个左括号和其相匹配的右括号中包含有几组匹配括号(包含自身); 思路: 利用栈存储字符串S,在利用一个临时的栈来倒序分组求出每个匹配括号中包含的匹配括号数;

2013-07-24 09:58:21 334

原创 poj 1149 PIGS(最大流)

题目链接:http://poj.org/problem?id=1149 网络流的建图经典题,难点全在建图上面! 题目大意: 有M个猪圈,每个猪圈里初始时有若干头猪。一开始所有猪圈都是关闭的。依次来了N个顾客,每个顾客分别会打开指定的几个猪圈,从中买若干头猪。每个顾客分别都有他能够买的数量的上限。每个顾客走后,他打开的那些猪圈中的猪,都可以被任意地调换到其它开着的猪圈里,然后所有猪圈重新关

2013-07-22 11:00:04 414

原创 poj 1328 Radar Installation

题目链接:http://poj.org/problem?id=1328 题目大意:在直角坐标系中,y轴正方向上有n个岛屿,现有检测半径为r的雷达要求建在x轴上,求最少要几个雷达覆盖所有的岛。 贪心:先求出每个岛在x轴上的投影区间,安区间排序再用贪心。 #include #include #include using namespace std; struct Islan

2013-07-12 19:12:52 398

原创 poj The Pilots Brothers' refrigerator(DFS)

题目链接: http://poj.org/problem?id=2965  题目大意就是一个4*4的方阵只有“+”“-”两种,当变换一个位置的符号时,该符号所在的行和列所有符号都要变换,问全部变成“-”号时最少要几步,并以此输出变换的位置! 一维数组存图很巧妙,处理的时候比二维方便的多! /4取横坐标, %4取纵坐标! #include

2013-06-22 13:54:42 372

原创 poj Flip Game

题目链接: http://poj.org/problem?id=1753 题目大意就是一张4*4的棋盘上摆满棋子(棋子可翻面,一面黑色一面白色),每次翻一个棋子,就要把该棋子上下左右的所有棋子都翻面,问最少几次就能把棋盘翻成全黑或者全白! 棋盘才4*4,搜索加枚举就能解决!#include #include using namespace std; int map[4][

2013-06-22 13:53:18 391

空空如也

空空如也

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

TA关注的人

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