摘要: 联通图课件建议学习过程,先简单看了解课件,然后看模版代码,上面会有详细注释,以及我第一做这些代码时候遇到的问题。无向连通图求 桥和割点割点:无向连通图中,如果删除某点后,图变成不连通了,则称该点为割点。桥: 无向连通图中,如果删除某条边后,图变成不连通了,则该边为桥。注:桥和割点是无向图中的概念。... 阅读全文
posted @ 2015-08-10 18:07 向前走丶不回首 阅读(235) 评论(0) 推荐(0)
摘要: 题目大意:给定一些城市,然后再给一些寄信的路信,A,B,H代表把信从A城市寄到B城市需要H小时。如果没有直接可以寄达的,可以先通过另外一个城市到达,比如A,B可以寄信,B,C可以寄信,那么,A,C也可以寄信。其中两个城市之间如果可以相互寄信的话,那么这两个城市是属于一个国家的,寄信可以通过电子邮件,... 阅读全文
posted @ 2015-08-10 18:06 向前走丶不回首 阅读(202) 评论(0) 推荐(0)
摘要: 题意:在有向图G中,给这样一个新的定义:对于在G中任何一个点v可达的点w,w都可达v,那么点v是一个sink。G图的bottom子图是由G图中所有的sink点构成,请按照顺序输出G图对应的bottom子图中的所有点编号,如果没有sink点,那么输出一个空行。题目分析:先将题目的强联通分量求出来缩成点... 阅读全文
posted @ 2015-08-10 18:05 向前走丶不回首 阅读(414) 评论(0) 推荐(0)
摘要: 题目大意:为了锻炼自己的儿子Jiajia 和Wind 把自己的儿子带入到一个洞穴内,洞穴有n个房间,洞穴的道路是单向的。每一次Wind选择两个房间 x 和 y, 让他的儿子从一个房间走到另一个房间,(要么从 x->y 或者 y->x), Wind承诺这个是一定可以走到的。但是他不知道如何判断这个 ... 阅读全文
posted @ 2015-08-10 18:04 向前走丶不回首 阅读(526) 评论(0) 推荐(0)
摘要: 题目大意:约翰的N(2≤N≤10000)只奶牛非常兴奋,因为这是舞会之夜!她们穿上礼服和新鞋子,别上鲜花,她们要表演圆舞. 只有奶牛才能表演这种圆舞.圆舞需要一些绳索和一个圆形的水池.奶牛们围在池边站好,顺时针顺序由1到N编号.每只奶牛都面对水池,这样她就能看到其他的每一只奶牛.为了跳这种圆舞... 阅读全文
posted @ 2015-08-10 18:03 向前走丶不回首 阅读(708) 评论(0) 推荐(0)
摘要: 题目大意:曹操有很多岛屿,然后呢需要建造一些桥梁将所有的岛屿链接起来,周瑜要做的是就是不让曹操将所有岛屿连接起来,每个座桥有人在守卫, 周瑜只能炸一座桥,并且他派人去炸桥只能派的人数必须 大于等于守桥的人数。输出最小的炸桥人数, 要是没有答案就输出 -1#include #include #incl... 阅读全文
posted @ 2015-08-10 18:02 向前走丶不回首 阅读(175) 评论(0) 推荐(0)
摘要: 题目大意:给你N个顶点,M条边的有向图,问最多加入多少条边之后,这个图仍旧是一个简单图(简单图:无重边,无自环),并且不是强联通的。如果原始的图就是强联通的话就输出 -1.1.找出强联通块,计算每个连通块内的点数。将点数最少的那个连通块单独拿出来,其余的连通块合并成一个连通分量。 那么假设第一个连通... 阅读全文
posted @ 2015-08-10 17:59 向前走丶不回首 阅读(419) 评论(0) 推荐(0)
摘要: 题目大意:给你一个无向图,问加一条边之后最少还剩下几座桥。(注意重边处理)分析:其实当我们把边双连通分量给求出来之后我们就能将连通块求出来,这样我们就可以重新构图。重新构造出来的图肯定是一颗树了,那么问题就转化为求树的哪两个节点的距离最长。我们可以随便找一个点S开始BFS, BFS到这个点最远的那个... 阅读全文
posted @ 2015-08-10 17:57 向前走丶不回首 阅读(389) 评论(0) 推荐(0)
摘要: 大致题意: 为了保护放牧环境,避免牲畜过度啃咬同一个地方的草皮,牧场主决定利用不断迁移牲畜进行喂养的方法去保护牧草。然而牲畜在迁移过程中也会啃食路上的牧草,所以如果每次迁移都用同一条道路,那么该条道路同样会被啃咬过度而遭受破坏。 现在牧场主拥有F个农场,已知这些农场至少有一条路径连接起来(不一定是直... 阅读全文
posted @ 2015-08-10 17:56 向前走丶不回首 阅读(1516) 评论(2) 推荐(0)
摘要: 题目大意:给你一个无向图,然后再给你一个Q代表有Q次询问,每一次加一条边之后还有几座桥。在这里要对重边进行处理。每次加入一条边之后,在这条搜索树上两个点的公共祖先都上所有点的桥都没了。这里重边的处理上要说一下, 我以前第一写的时候根本没考虑这个问题,但是居然过了。。。过了。。。 很扯淡,但是重边的问... 阅读全文
posted @ 2015-08-10 17:52 向前走丶不回首 阅读(483) 评论(0) 推荐(0)
摘要: 题目大意:给你一个网络要求这里面的桥。输入数据:n 个点点的编号 (与这个点相连的点的个数m) 依次是m个点的输入到文件结束。桥输出的时候需要排序知识汇总:桥: 无向连通图中,如果删除某条边后,图变成不连通了,则该边为桥。求桥:在求割点的基础上吗,假如一个边没有重边(重边 1-2, 1->2 有两... 阅读全文
posted @ 2015-08-10 17:51 向前走丶不回首 阅读(699) 评论(0) 推荐(0)
摘要: 题目大意:给你一个无向图,求其中割点的个数目。输入数据第一行一个 n 代表有 n 个点接下来有多行,一直到读入一个 0,算整个地图的读入结束,再读入一个0,文件数据结束。每行有第一个数字a,代表接下来的数字都 和 a 相连。知识汇总:割点:无向连通图中,如果删除某点后,图变成不连通了,则称该点为割点... 阅读全文
posted @ 2015-08-10 17:49 向前走丶不回首 阅读(253) 评论(0) 推荐(0)
摘要: 题目大意:给定一个有向图,求:1) 至少要选几个顶点,才能做到从这些顶点出 发,可以到达全部顶点2) 至少要加多少条边,才能使得从任何一个顶 点出发,都能到达全部顶点 顶点数#include #include #include #include #include #include #include ... 阅读全文
posted @ 2015-08-10 17:48 向前走丶不回首 阅读(164) 评论(0) 推荐(0)
摘要: 知识讲解:在代码里我们是围绕 low 和 dfn 来进行DFS,所以我们务必明白 low 和 dfn 是干什么的? 有什么用,这样才能掌握他。1. dfn[] 遍历到这个点的时间2. low[] 遍历到这个所能连接到的最短时间,说明那个最短时间可以遍历带他,他也可以走到那个最短时间。3. 我们每次出... 阅读全文
posted @ 2015-08-10 17:47 向前走丶不回首 阅读(579) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82832#overview1.POJ 3468 A Simple Problem with Integers(线段树模版题目)2.HDU 1166 敌兵布阵3.HDU 1754 I... 阅读全文
posted @ 2015-08-10 17:37 向前走丶不回首 阅读(239) 评论(0) 推荐(0)
摘要: 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=82834#overview1.HDU 1083 Courses(最大匹配模版题)(内附代码详解)2.HDU 1045 Fire Net(图匹配)3.HDU 2444 The Acc... 阅读全文
posted @ 2015-08-10 17:28 向前走丶不回首 阅读(152) 评论(0) 推荐(0)
摘要: 题意:有K台挤奶机,C头奶牛,每个挤奶机每天只能为M头奶牛服务,下面给的K+C的矩阵,是形容相互之间的距离,求出来走最远的那头奶牛要走多远输入数据:第一行三个数 K, C, M接下来是 (K+C)*(K+C)的矩阵表示每个物体之间的距离, 0 表示两者之间是不通的。挤奶机 1, 挤奶机2 .... ... 阅读全文
posted @ 2015-08-10 17:25 向前走丶不回首 阅读(138) 评论(0) 推荐(0)
摘要: 题意:Jamie有很多联系人,但是很不方便管理,他想把这些联系人分成组,已知这些联系人可以被分到哪个组中去,而且要求每个组的联系人上限最小,即有一整数k,使每个组的联系人数都不大于k,问这个k最小是多少?题目分析:多重匹配,二分枚举所有极限值。多重匹配如何匹配?假如我们有两个集合X, Y 但是呢 Y... 阅读全文
posted @ 2015-08-10 17:24 向前走丶不回首 阅读(164) 评论(0) 推荐(0)
摘要: 题目大意:有n只猫,有m只狗。现在有P个学生去参观动物园。每个孩子有喜欢的动物和不喜欢的动物。假如他喜欢猫那么他就一定不喜欢狗(反之亦然)。如果一个孩子喜欢一个动物,那么这个动物不会被移除,若是不喜欢则移除。现在管理员想知道移除哪些动物可以使最大数量的孩子高兴。输入数据:输入包含多组测试实例。第一行... 阅读全文
posted @ 2015-08-10 17:23 向前走丶不回首 阅读(210) 评论(0) 推荐(0)
摘要: 题目大意:有n个城市,m条道路,城市的道路是单向。现在我们的伞兵要降落在城市里,然后我门的伞兵要搜索所有道路。问我们最少占领多少个城市就可以搜索所有的道路了。我们可以沿着道路向前走到达另一个城市。题目分析:这道题目其实就是求最小路径覆盖最小路径覆盖问题:用尽量少的不相交简单路径覆盖有向无环图的所有顶... 阅读全文
posted @ 2015-08-10 17:22 向前走丶不回首 阅读(185) 评论(0) 推荐(0)
摘要: 题意:派机器人去火星寻宝,给出一个无环的有向图,机器人可以降落在任何一个点上,再沿着路去其他点探索,我们的任务是计算至少派多少机器人就可以访问到所有的点。有的点可以重复去。输入数据:首先是n和m, 代表有n个顶点, m条边。(m和n同时为0时则输入数据结束)接下来m行,每行两个数字 a, b代表 从... 阅读全文
posted @ 2015-08-10 17:22 向前走丶不回首 阅读(162) 评论(0) 推荐(0)
摘要: 题目大意:给你一个(n*m) 的矩阵,问要让无线电覆盖所有的城市最少建立多少个基站,基站只能在城市上建立,并且我在一个位置建好基站之后,除了能覆盖我盖基站的位置之外还能覆盖我建立基站位置的(上下左右)任意位置的一个基站,只能从四个位置中选择一个。题目输入:一个T代表T组测试数据。一个n 和 一个 m... 阅读全文
posted @ 2015-08-10 17:21 向前走丶不回首 阅读(169) 评论(0) 推荐(0)
摘要: 题目大意:给你一棵树,问最少多少个点可以把树的所有路径都给覆盖了。题目输入:首先是一个数字n, 代表有n个结点。然后下面是n个节点的信息首先是一个数字 a 然后(b) b代表和a相连节点的数目。然后是 b 个数字,代表和a相连。题目思路:先对图进行黑白染色,然后构造二分图,然后进行匹配。因为是有(1... 阅读全文
posted @ 2015-08-10 17:21 向前走丶不回首 阅读(125) 评论(0) 推荐(0)
摘要: 题目大意:在一个N*N的矩阵里寻找最多有多少个“##”(横着竖着都行)。题目分析:重新构图,直接以相邻的两个油井算中间算以条边,然后进行匹配,看看两两之间最多能匹配多少对。#include#include#include#include#include#include#includeusing na... 阅读全文
posted @ 2015-08-10 17:20 向前走丶不回首 阅读(150) 评论(0) 推荐(0)
摘要: 大意:在一个二维坐标系上有nx个人和ny把伞,每个人都有自己的移动速度,问有多少人可以再 time 时间内移动到不同的雨伞处(不允许两个人共用一把伞)。输入数据:第一行是一个T代表T组测试数据。开始是一个数字 time(1 #include#include#include#include#inclu... 阅读全文
posted @ 2015-08-10 17:19 向前走丶不回首 阅读(215) 评论(0) 推荐(0)
摘要: 题目大意: 给你一个N代表一个N*N的0-1矩阵,问经过怎样的交换才能使得所有对角线上的值都为一,每次交换只能交换任意的行和列。若无法交换成功则输出 -1.题目分析:我们把一个图做一次二分匹配,所有的行都匹配到了一个列。若是最大匹配数不能到达n,则说明无论怎么交换都是不能得到对角线全部为一的。当我们... 阅读全文
posted @ 2015-08-10 17:18 向前走丶不回首 阅读(212) 评论(0) 推荐(0)
摘要: 题目大意:略题目思路: 先求出一个最大匹配,再枚举每条边。(刚开始感觉好暴力...........但事实是只用了31ms 无语了)#include#include#include#includeusing namespace std;#define maxn 1500bool G[maxn][max... 阅读全文
posted @ 2015-08-10 17:17 向前走丶不回首 阅读(141) 评论(0) 推荐(0)
摘要: 题目大意:有一群人他们有一些关系,比如A认识B, B认识C, 但是这并不意味值A和C认识。现在给你所有互相认识的学生,你的任务是把所有的学生分成两个一组,住在一个双人房里。相互认识的同学可以住在一个双人房里。输入数据:有n个学生 m个关系(m对是相互认识的)接下来m行是,是m个关系。如果能够匹配成功... 阅读全文
posted @ 2015-08-10 17:16 向前走丶不回首 阅读(172) 评论(0) 推荐(0)
摘要: 题目大意:这个是以前做过的一道DFS题目,当时是完全暴力写的。给你一个N代表是N*N的矩阵,矩阵内 ‘X’代表墙, ‘.’代表通道。问这个矩阵内最多可以放几个碉堡, 碉堡不能在同一行或者同一列,除非他们中间有墙。二分图做法思想:我们用行去匹配列,判断最大匹配数。我们需要重新构图, 假如一行中 ( .... 阅读全文
posted @ 2015-08-10 17:16 向前走丶不回首 阅读(132) 评论(0) 推荐(0)
摘要: 题目大意:一共有N个学生跟P门课程,一个学生可以任意选一门或多门课,问是否达成: 1.每个学生选的都是不同的课(即不能有两个学生选同一门课) 2.每门课都有一个代表(即P门课都被成功选过)输入为:第一行一个T代表T组数据P N(P课程数, N学生数)接着P行:第几行代表第几门课程,首先是一个数字k代... 阅读全文
posted @ 2015-08-10 17:13 向前走丶不回首 阅读(650) 评论(0) 推荐(0)