图论
qpswwww
这个作者很懒,什么都没留下…
展开
-
[NOI 2015复习][BZOJ 1509][NOI 2003]逃学的小孩(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1509题目大意要从一棵树中找出三个点X,Y,ZX,Y,Z,使得min(dis[A][C],dis[B][C])+dis[A][B]\min(dis[A][C],dis[B][C])+dis[A][B]最大,求这个最大值思路可以发现,min里头的两个东西具体取哪个并不重要,或者说点C距离A更近还是原创 2015-07-13 10:25:27 · 1690 阅读 · 0 评论 -
[省选前题目整理][BZOJ 1486][HNOI 2009]最小圈(01分数规划)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1486思路首先我们知道,将一个圈中所有的边权全部减去它们之和的平均数的话,处理后的圈的边权和为0。因此我们可以二分答案,每次二分出答案后,将图上所有的边权全部减去这个答案,如果这个答案可行的话(但是这个答案不一定是最大的),图上一定会存在负环(环的边权之和是小于等于0),因此我们用SPFA判负环原创 2015-03-30 20:42:34 · 704 阅读 · 0 评论 -
[BZOJ 1854][SCOI 2010]游戏(二分图最大匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1854思路注意到每个属性只能对应一个武器(选择的属性必须递增),每个武器只能选择一个属性,这东西像什么?二分图! 实际上就是一个很裸的二分图匹配问题,我们把每个武器向它所属的两个属性连边,从属性1开始依次对每个属性作起点跑二分图匹配,直到某个属性ii跑不出匹配,退出循环,答案就是i−1i-1代原创 2015-03-19 19:53:35 · 514 阅读 · 0 评论 -
[BZOJ 1063][NOI 2008]道路设计(树形DP)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1063题面大意给一个有nn个结点的有根树,树根为点1,树上有若干条不相交的链,定义一个点的不便利值为它到根节点的路径上不属于链的边的个数,定义整棵树的不便利值为树中点的最大不便利值,求这棵树的最小不便利值,以及取最小值时的方案数。思路由题目限制任意两条链不能相交,可以发现这相当于一个点最多只能和原创 2015-03-04 16:15:32 · 791 阅读 · 0 评论 -
[BZOJ 2330][SCOI 2011]糖果(差分约束系统)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2330思路代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#include <queue>#define MAXE 110000#defi原创 2015-03-19 17:19:36 · 755 阅读 · 0 评论 -
[BZOJ 1064][NOI 2008]假面舞会(图论+BFS)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1064题目大意给一个有向图染色,一个点的后继的颜色必须全部相同,问最多多少种颜色,最少多少种思路为了便于叙述,以下面具的种类数简称类数,图中不同的颜色代表不同类别的面具,一种面具简称一种颜色。 如果这个有向图是一棵树的话,那么树上每个点的儿子颜色必须都相同,如下图 手模下可以发现这种情况原创 2015-03-03 21:49:52 · 1400 阅读 · 0 评论 -
[BZOJ 1491][NOI 2007]社交网络(Floyd+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1491思路题面中的定义式非常像floyd的DP方程,而且数据范围也能过O(n3)O(n^3),显然这个题可以用类似floyd的方法来搞。。。 做两遍floyd,第一遍求出多源最短路,以及任意两点间最短路的方案数,这个比较好求,然后第二遍就是枚举点kk,求出点kk的答案,枚举i到ji到j的最短路原创 2015-03-03 19:00:48 · 632 阅读 · 0 评论 -
[BZOJ 2730][HNOI 2012]矿场搭建(Tarjan求割点与桥+计数问题)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2730思路这篇题解是我一个月之前写的,为了凑齐HNOI 2012 Day1的题解所以又发了一遍,23333注意到点双联通分量的性质:去掉点双中任意一个点,点双中其他点仍然双联通。因此可以发现,在整个图中,一个只含有一个割点的点双联通分量中必须建一个井口,因为若这个点双的割点塌陷,那么这个点双中所原创 2015-02-27 20:02:18 · 646 阅读 · 0 评论 -
[BZOJ 1912][APIO 2010]patrol 巡逻(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1912题目大意给一棵树,求加kk条边之后,从1号点遍历每个点之后再回到1号点的最小距离和。k=1或2k=1或2思路如果不加边,那么遍历走过的距离显然是2(n−1)2(n-1)。注意到一个很有意思的限制:k=1或2k=1或2。那么可以分类讨论以下两种情况 1、k=1k=1,很显然最优的方法就是在原创 2015-02-25 11:32:07 · 2020 阅读 · 0 评论 -
[BZOJ 1562][NOI 2009]变换序列(二分图匹配)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1562题目大意有一个长为n的长为n的序列AA,对于任意的Ai,1<=i<=n,1<=Ai<=n,且对于任意的1<=i,j<=n,i!=j,Ai!=AjA_i,1<=i<=n,1<=A_i<=n,且对于任意的1<=i,j<=n,i!=j,A_i!=A_j。对其中每个元素进行加did_i modmo原创 2015-02-22 19:49:55 · 1289 阅读 · 0 评论 -
[省选前题目整理][POJ 1330]Nearest Common Ancestors(倍增法求LCA)
题目链接http://poj.org/problem?id=1330思路非常裸的倍增LCA练手题。。。代码#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#define MAXN 12000using namespace std;struct edge原创 2015-03-31 08:44:53 · 693 阅读 · 0 评论 -
[省选前题目整理][CodeForces 527E]Data Center Drama(欧拉回路+构造)
题目链接http://codeforces.com/contest/527/problem/E思路非常不错的一道图论的构造题。 注意到最终的图是一个欧拉回路,那么每个点最终的入度等于出度,如果这个欧拉回路长是偶数的话,就相当于把这个图变成无向图(所有边加上反向边),并且新图的每个点的度数均为偶数。因此我们就需要在原图中,对于所有度数为奇数的点,依次连无向边,这样原图就变成了所有点度数均为偶数了,然原创 2015-04-07 14:41:04 · 1328 阅读 · 0 评论 -
[POI 2011]Party(构造)
题目链接http://main.edu.pl/en/archive/oi/18/imp题目大意给你一个无向图,点数n<=3000,3|n,保证图中包含一个2n/3大小的团,要你从中找出一个大小大于等于n/3的团思路构造方法: 从图中删去所有互不相连的点对 证明: 由于图中存在一个2n/3大小的团,因此最多只会删除n3\frac n 3次点 而且删除的任何一个点对肯定不是在团里,这样的话,团外原创 2015-06-15 15:43:05 · 758 阅读 · 0 评论 -
[UOJ 111][APIO 2015]Jakarta Skyscrapers(Dijkstra+pbds堆暴力)
题目链接http://uoj.ac/problem/111思路显然每条狗在整个过程中只会连续地跳跃一段时间,这显然不用我多说了。 这样显然就是一个最短路问题(大雾),求0号狗所在柱子到1号狗所在柱子的最短路于是有下面的几个做法。1、36分做法 直接暴力加边,然后跑SPFA啥的最短路就OK了 但是题目似乎故意卡了下这种做法,因此这种做法虽然时间复杂度和57分做法一样,但是会炸掉内存2、5原创 2015-05-19 15:58:56 · 1609 阅读 · 0 评论 -
[POI 2012]Tour de Byteotia(并查集)
题目链接http://main.edu.pl/en/archive/oi/19/tou题目大意给出一个无向图,要你删除其中一些边,使得对于i∈[1,k]i\in [1,k],点ii不在环上思路水题对于所有的两个端点编号均大于kk的点,先并查集预处理维护它们的连通性。这些点构成的环上不会有点i∈[1,k]i\in [1,k]然后对于剩下的边,每条边都至少有一个端点i∈[1,k]i\in [1,k],若原创 2015-06-23 17:30:38 · 789 阅读 · 0 评论 -
[LA 6393]Self-Assembly(拓扑排序)
题目链接http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=46836题目大意以下中文题面转自清澄OJ 自动化学制造(Automatic Chemical Manufacturing,简称ACM)正在对一个叫自组装(self-assembly)的过程进行实验。在这个过程中,有着天然相互吸引力的分子被混合在溶液中,任由它们聚集组合成原创 2015-05-21 15:15:54 · 634 阅读 · 0 评论 -
[POI 2012]Rendezvous(倍增LCA)
题目链接http://main.edu.pl/en/archive/oi/19/ran题目大意给定一棵内向森林,多次给定两个点a和b,求点对(x,y)满足:1.从a出发走x步和从b出发走y步会到达同一个点 2.在1的基础上如果有多解,那么要求max(x,y)最小 3.在1和2的基础上如果有多解,那么要求min(x,y)最小 4.如果在1、2、3的基础上仍有多解,那么要求x>=y思路很像LCA。原创 2015-06-18 16:46:15 · 575 阅读 · 0 评论 -
[POI 2010]Guilds(并查集)
题目链接http://main.edu.pl/en/archive/oi/17/gil题目大意给你一张图,并对图中的一些点进行红黑染色,要求: 1、对于每个红色的点一定有黑色点与其相连, 2、对于每个黑色的点一定有红色点与其相连, 3、对于每个未染色的点一定有红色点和黑色点与其相连。 判断这个图是否有一个染色的可行解,若有,输出一个解思路可以发现,当且仅当有大小为1的联通块,无解。原因是若不原创 2015-05-14 11:01:13 · 532 阅读 · 0 评论 -
[BZOJ 2109/BZOJ 2535][NOI 2010]航空管制(贪心)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2109思路很容易发现其实就是给了一个有向图,在这个有向图上做拓扑序,并限制某些点ii必须在某个区间[1,Ki][1,K_i]中,第一问就是求一个合法的拓扑序,第二问则是求对于每个点ii,问ii在拓扑序中最早在什么位置出现。网上的做法很多,但是有些做法能过BZOJ 2535却过不了2109?(这些原创 2015-04-27 19:01:44 · 2125 阅读 · 0 评论 -
[BZOJ 1509][NOI 2003]逃学的小孩(树的直径)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1509题目大意要从一棵树中找出三个点X,Y,ZX,Y,Z,使得min(dis[A][C],dis[B][C])+dis[A][B]\min(dis[A][C],dis[B][C])+dis[A][B]最大,求这个最大值思路大部分的做法都是基于枚举分叉点的树上DP。这种做法非常好想,但是还是有些难原创 2015-04-29 20:38:10 · 983 阅读 · 0 评论 -
[SCOI 2015集训]B
题目思路代码好像ubuntu里写的代码,在win下面就wa了而且还会出现乱码注释。。。 注意INF定为1e18!输出在win下是I64d,不然只能拿到50分!#include <iostream>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <algorithm>#define MAXN 1000010#原创 2015-04-16 11:56:08 · 676 阅读 · 0 评论 -
[BZOJ 2435][NOI 2011]道路修建
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2435 大水题,无根树随便找个点当成根然后DFS出一个有根树,统计下每个子树的大小,然后扫一遍树边统计答案就OK了。本来可以做到1A的,没想到在int赋值给long long时还要加个强制转换,结果贡献2个WA,什么鬼啊,教训一定要切记!代码#include <stdio.h>#includ原创 2015-02-22 16:39:09 · 719 阅读 · 0 评论 -
[UOJ 28][IOI 2014]Friend(DP)
题目链接http://uoj.ac/problem/28题目大意有一个点带权的无向图,最开始只有点0,随后点11至点n−1n-1依次加入,点ii加入时,会有一个已经加入的点hostihost_i,它会在点ii和其他一些点进行连边,连边方式有以下三种: 1. I方式:只将i与hostii与host_i连边 2. M方式:只将i与hosti的邻居连边i与host_i的邻居连边 3. W方式:原创 2015-02-21 15:41:17 · 1400 阅读 · 0 评论 -
[BZOJ 2150]部落战争(最小路径覆盖、二分图最大匹配)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=2150思路:很裸的最小路径覆盖问题,这个问题有两种解法:1、网络流,拆点,2、二分图最大匹配将每个无障碍的点和它可达的无障碍的点连边,然后跑二分图最大匹配即可。#include #include #include #include #include原创 2014-11-15 22:41:01 · 856 阅读 · 0 评论 -
[ContestHunter Round#55]LCA的统计
题目地址:http://ch.ezoj.tk/contest/CH%20Round%20%2355%20-%20Streaming%20%236%20(NOIP%E6%A8%A1%E6%8B%9F%E8%B5%9Bday2)/LCA%E7%9A%84%E7%BB%9F%E8%AE%A1描述萌蛋有一棵n个节点的有根树,其根节点为1。除此之外,节点i的父节点为p_i。每个点上都有一原创 2014-10-10 20:57:35 · 912 阅读 · 0 评论 -
[NOIP 2014复习]第五章:图论
一、最短路问题1、图的存储方式2、Floyd算法求多源最短路3、Dijsktra算法求单源最短路4、Bellman-Ford算法求单源最短路5、SPFA求单源最短路(1)Wikioi 1173 最优贸易题目描述 Description 【问题描述】C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直原创 2014-09-06 09:15:27 · 1487 阅读 · 0 评论 -
[POJ 2728]Desert King
#include #include #include #include #define MAXE 1010#define INF 1000000000using namespace std;struct Point{ double x,y,h;}point[MAXE];double map[MAXE][MAXE];double LinearDis(doubl原创 2014-08-16 22:47:00 · 598 阅读 · 0 评论 -
[POJ 2762]Going from u to v or from v to u? (强连通分量+拓扑排序)
DescriptionIn order to make their sons brave, Jiajia and Wind take them to a big cave. The cave has n rooms, and one-way corridors connecting some rooms. Each time, Wind choose two rooms x and y, an原创 2014-08-14 20:58:09 · 817 阅读 · 0 评论 -
[POJ 1330]Nearest Common Ancestors(LCA最近公共祖先)
DescriptionA rooted tree is a well-known data structure in computer science and engineering. An example is shown below: In the figure, each node is labeled with an integer from {1, 2,...,16}原创 2014-08-25 18:48:46 · 640 阅读 · 0 评论 -
[BZOJ 1191][HNOI 2006]超级英雄Hero(二分图最大匹配)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1191水题,裸二分图最大匹配,每个问题和它的两个锦囊连边就行了#include #include #include #include #include #define MAXE 1000#define MAXN 1000 using namespace s原创 2014-11-15 22:07:47 · 685 阅读 · 0 评论 -
[BZOJ 1051][HAOI 2006]受欢迎的牛(tarjan缩点)
http://www.lydsy.com:808/JudgeOnline/problem.php?id=1051唔。。。这题好像在POJ上见过?比较水的题,很好想出思路。牛和牛之间的关系就像有向图,牛a喜欢牛b相当于建立有向边a->b,然后在这个有向图中,每个强连通分量里的牛们相当于是相互喜欢的,把这个图缩点成DAG,DAG里如果有且仅有一个出度为0的点,则这个点对应强连通分量里的所有牛都原创 2014-12-02 21:30:41 · 955 阅读 · 0 评论 -
[POJ 3694]Network(Tarjan+并查集+LCA 动态加边求图中桥的个数)
题目链接http://poj.org/problem?id=3694题目来源2008 Asia Hefei Regional Contest Online,by USTC题目大意维护一张图中桥的个数,支持动态加边(加边次数为qq次)。 1≤|V|≤100000,1≤|E|≤200000,1≤q≤10001≤|V|≤100000,1≤|E|≤200000,1≤q≤1000思路对于初始的图,用tarj原创 2015-02-21 11:55:39 · 1133 阅读 · 0 评论 -
[BZOJ 2007][NOI 2010]海拔(平面图最小割)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=2007题目大意求一个长得像网格一样的图的最小割思路显然这个网格一样的图是个平面图,此题如果裸上最大流算法的话会T掉最后2个点(网友说的,我没试过),平面图最小割=最短路,据网友说,上带堆优化的dij比较好,SPFA最后2个点很慢。 然后就是建图问题了,我强烈推荐采用不建图的方式跑最短路,大家都原创 2015-02-22 15:29:56 · 563 阅读 · 0 评论 -
[BZOJ 1006][HNOI2008]神奇的国度(弦图染色、最大势算法)
题目链接http://www.lydsy.com/JudgeOnline/problem.php?id=1006题目大意给一个弦图染色,要求每个点与其所有邻居颜色不一样,求染色的最少色数。题目思路一个很裸的求弦图染色色数的题,根据CDQ论文中的证明(见http://wenku.baidu.com/view/07f4be196c175f0e7cd13784.html Page 69),可知一个弦图染色原创 2015-02-21 21:45:51 · 1306 阅读 · 0 评论 -
[BZOJ 1295][SCOI2009]最长距离
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1295很有意思的一道SPFA题。。。。妈的最后忘了去掉system("pause")结果贡献了2发RE,我SB了#include #include #include #include #include #define MAXN 35#define IN原创 2014-12-08 11:59:38 · 1068 阅读 · 0 评论 -
[BZOJ 1565][NOI 2009]植物大战僵尸(Dinic最大流+拓扑排序)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1565orz题目太神。。。膝盖已经跪烂。。。。这题需要我们建立起植物和植物之间复杂的保护关系,以及吃植物得到的损失和回报,因此要用最大流搞,建模太神奇了,跪跪跪。。。首先我们建立源点和汇点,对于每个植物,如果吃它可以得到能源,在源点和它之间连一条边,容量为得到的能源数量。原创 2014-12-05 18:55:34 · 891 阅读 · 0 评论 -
[BZOJ 1103][POI 2007]大都市(DFS求拓扑序+树状数组)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1103题目大意:给你一个树,刚开始所有树边边权均为1,不断地将其中的某些边边权改为0,其间问你某个点到根节点之间路径上的边权和。此题和POJ的Apple Tree很相近。。。首先DFS生成整棵树的拓扑序,DFS时每个结点i进入的时间l[i]和离开的时间r[i],然后对每次原创 2014-12-03 21:29:02 · 714 阅读 · 0 评论 -
[BZOJ 1143][CTSC 2008]祭祀river(二分图最大独立集)
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1143这是我做的第一道CTSC的题,这题水得我都惊呆了。。。据说BZOJ只有第一问,没有问第二问,因为没数据,难怪这么水。。。首先我们得知道二分图的独立集的概念:二分图的独立集是二分图中一个任意两点都不相连的顶点的集合二分图的最大独立集求法:二分图的最大独立集=二原创 2014-12-03 18:53:52 · 905 阅读 · 0 评论 -
[BZOJ 1196][HNOI 2006]公路修建问题
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1196可以说这是个瓶颈生成树的题?不算很难的图论题,构思非常巧妙。。。二分生成树的最大边权x,判断这样的生成树是否存在就行了。。。每次判断时分成两步走,首先要限制c1小于等于x,判断生成树中的树边个数是否小于等于k,若大于k,表明这个生成树不存在。再限制c2小于等原创 2014-12-03 20:40:20 · 1116 阅读 · 0 评论 -
[BZOJ 1179][APIO 2009]Atm
题目链接:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1179个人感觉此题比省选题简单多了,大概是POJ中档题的难度。。。首先我们把这个有向图缩个点,缩点后的图是个DAG,新图中每个点的权值是对应强连通分量中的点的权值之和,新图中每个点对应的强连通分量中的点都是相互可达的,也就是说新图中的每个点,劫匪都能一次性抢完其中所有ATM机原创 2014-12-03 19:57:28 · 1084 阅读 · 0 评论