![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
文章平均质量分 77
黑山老猴妖
这个作者很懒,什么都没留下…
展开
-
hdu 1874 畅通工程续
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目思路:最短路模版题。。 AC代码: #include #include #define M 0xfffffff #define N 205 int n,m,map[N][N],vis[N],dis[N]; void ddd(int a,int b) { int i,min,ne原创 2014-02-19 12:11:44 · 491 阅读 · 0 评论 -
ZOJ 3378 求割边+最短路
题目大意:给你一个地图,A君要从0走到n-1,B君想要埋伏A君,问A的必经之路有哪些 题目思路:必经之路首先想到割边,但是割边不一定都是解,因为割边是去掉这条边后形成两个字图(应该是这样的吧。。),但是有可能不需要经过那部分,所以在求下最短路,这样就把不需要经过的去掉了。 代码: #include #include #include #include #include #include #i原创 2015-03-29 13:23:44 · 399 阅读 · 0 评论 -
POJ 3159 最短路dij优先队列模板 差分约束
题意: 一组数据 【这个】二猴 2014/10/31 1 第一行n,m n个点,m条边 接下来m行 告诉你a,b,c 代表着b最多比a多c块糖 问n最多比1多几块糖 问的是1最多比n多几块。。原创 2014-10-31 19:19:43 · 752 阅读 · 0 评论 -
POJ 3683 2-sat
链接:http://poj.org/problem?id=3683 题意:某一天,有N个活动,给出每个活动的开始结束时间。每个活动都需要牧师参与一段时间,牧师可以在开始或者最后的时间进行工作。问是否有满足的安排方式,输出一种。 思路:两种选择,只能选择一种,大概就是2-sat。建图:如果时间A和时间B冲突,就A->B',B->A',这样建边。然后2-sat判断是否有解。 区间相交: boo原创 2015-08-26 12:04:15 · 489 阅读 · 0 评论 -
poj2749 Building roads 2-sat
链接:http://poj.org/problem?id=2749 题意:有n个奶牛,每个奶牛有坐标。有两个集散地,给出坐标,每个奶牛要链接到其中一个集散地上,让最远的两个奶牛的距离(曼哈顿距离)最近。而且有的奶牛间互相讨厌,不能连在一个集散地上,有的互相喜欢,必须连在一个上。 思路:很明显的2-sat,不过还是跑偏了。。首先给出的限制关系还有集散地数量为2都符合2-sat,不过2-sat中没原创 2015-08-25 16:28:47 · 368 阅读 · 0 评论 -
poj 3648 2-sat输出一组解
题目链接:http://poj.org/problem?id=3648 题目思路:有一些原创 2014-05-15 00:16:59 · 817 阅读 · 0 评论 -
POJ 3728 && POJ 1986
POJ1986: 链接:http://poj.org/problem?id=1986 题意:首先用奇怪的方式给出图,然后乱搞下把图弄成习惯的方式。题目要求的是树上两点之间距离,利用dfs+lca,求出每个点到树根的距离,然后再减去最近公共祖先到树根的距离的两倍 LCA: LCA处理的方式是后序遍历,程序大概的流程: { 1.判断有关于当前点的询问能否解决(另一个点访问过),如果可以将信原创 2015-08-24 22:59:55 · 421 阅读 · 0 评论 -
POJ 2763 在线lca
链接:http://poj.org/problem?id=2763 题意:n个点构成树,q个询问,每次询问得到树上两点距离。 操作一:问从当前位置(起始在s)到v的距离(每次移动到新的地方)。 操作二:将第i条边的长度改为w 处理出到树根的距离,操作一每次用lca求dis[s] + dis[t] - 2*dis[lca(s,t)];操作二,更新某条边之后对这条边下面的子树到树根的距原创 2015-08-26 17:05:28 · 566 阅读 · 0 评论 -
POJ 3057 Evacuation 二分图
链接:http://poj.org/problem?id=3057 题意:一个二维平面图,有“D”门,“X”墙,“.”人,每个门每秒只能走一个人,人可以重叠,问最短几秒人可以走光。 思路:开始胡乱YY的,就没写,后来看的题解= =(弱逼不会建图啊啊啊啊啊)。二分图最大匹配要求一个点只能连一条边,这个题的门显然不符合。不过可以把门拆成第x秒的门,这样就符合了,二分答案,建图。 代码:原创 2015-08-28 14:27:41 · 710 阅读 · 0 评论 -
poj 2186 强连通
题目链接:http://poj.org/problem?id=2186原创 2014-05-15 13:00:09 · 449 阅读 · 0 评论 -
POJ 3678 2-sat,基础题
链接:http://poj.org/problem?id=3678 代码: #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define m原创 2015-08-22 16:03:11 · 430 阅读 · 0 评论 -
hdu 5418 哈密顿+floyd
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5418 题意:从1开始,走过所有的点(可以走多次),再回到1,求最短路径 思路:先floyd,求任意两点间最短路,然后求哈密顿回路最短的 代码: #include #include #include #include #include #include #include #includ原创 2015-08-22 22:34:33 · 1511 阅读 · 0 评论 -
poj 2983
题意:给你n个串,让你找到一系列串,这些串ch原创 2014-11-06 15:35:29 · 409 阅读 · 0 评论 -
POJ 3013 最短路变形 0.0
题意:给你一个无向图,让你zhao原创 2014-11-02 15:16:04 · 554 阅读 · 0 评论 -
hdu 1233 还是畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1233 题目思路:建设公路把村庄连接起来,求路的最小总长度。求最小生成树,方法就是Kruskal算法。。 AC代码: #include int f[105]; int find(int a) { if(f[a]!=a) f[a]=find(f[a]); return原创 2014-02-08 10:32:58 · 763 阅读 · 0 评论 -
hdu 1232 畅通工程
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 题目思路:中文题。。看着就是爽。。标准并查集。如果最后road[a]=a,说明它没有连接上(除了一个),最后减一在输出就是答案。 AC代码: #include int road[1005]; int find(int a) { return road[a]==a?a:find(ro原创 2014-02-07 17:25:40 · 638 阅读 · 0 评论 -
hdu 4619 二分匹配
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4619 题意:gei原创 2014-08-20 18:09:37 · 496 阅读 · 0 评论 -
hdu 2544 最短路
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目思路:同最短路模版~这次一次就过了。。比上一题强多了。。 AC代码: #include #include #define M 0xfffffff #define N 105 int n,m,map[N][N],dis[N],vis[N]; void dijkstra() { i原创 2014-02-19 12:42:00 · 573 阅读 · 0 评论 -
ZOJ 3794 最短路
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3794 题意:原创 2014-08-20 22:05:45 · 864 阅读 · 3 评论 -
ZOJ 3792 最小割+求割边
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5300 题意:有个人特烦他某个亲戚。。称ta原创 2014-08-21 16:06:15 · 453 阅读 · 0 评论 -
hdu 1878 欧拉回路 无向图连通性
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1878原创 2014-05-22 19:07:44 · 797 阅读 · 0 评论 -
ZOJ 2314 有上下界的网络流
链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1314 思路:shuo'xia原创 2014-09-01 20:29:17 · 543 阅读 · 1 评论 -
POJ 3352
题意:给你一个无向图,问至少添加几条边能够使两点之间至少有两条边不重复的路(也就是形成一个双连通图) 思路:先求割边,然后把割边“删除”,把各个点标记为相应的双连通分量,缩点,然后把割边连上,形成一棵树,判断每个节点的度,统计度为1的节点,(ans + 1)/2就是答案 代码: #include #include #include #include #include using name原创 2014-11-08 00:42:39 · 672 阅读 · 0 评论 -
POJ 1201 差分约束、最长路
题意:给你n个闭区间,每个区间有一个值c,让你找到一个最小的集合,这个ji原创 2014-11-01 16:03:03 · 646 阅读 · 0 评论 -
POJ 1364 差分约束
题意:给你一个n和m,接下来m行,每行miao'shu'le原创 2014-11-01 11:39:12 · 436 阅读 · 0 评论 -
倍增法求LCA
题目链接:http://www.bnuoj.com/v3/problem_show.php?pid=49357 题意:有一棵树,树上的每条边有方向,如果有一条边a->b,那么就说明能从a到达b,不过不能从b到达a,给出这样的一棵树,多组询问从u到v能否到达 思路:从u到v的路径是从u先到最近公共祖先,然后再到v,所以就是求两部分能否分别到达,如果都可以(且满足方向),那么就是可行的。 用倍增原创 2015-10-04 19:50:43 · 578 阅读 · 0 评论