随笔分类 - ACM——图论
摘要:题目链接:http://vjudge.net/contest/144221#problem/A 题意: 秦朝有n个城市,需要修建一些道路使得任意两个城市之间都可以连通。道士徐福声称他可以用法术修路,不花钱,也不用劳动力,但只能修一条路,因此需要慎重选择用法术修哪一条路。秦始皇不仅希望其他道路的总长度
阅读全文
摘要:这几天学校女生节,挺累的,感觉还是挺好玩的,前几天看了一下最短路,Bellman-fort算法果然比较厉害,今天又参考了刘汝佳的两本书,有了一点新的认识。 废话不说,先上代码: #include <bits/stdc++.h> using namespace std; const int INF =
阅读全文
摘要:题目链接:http://vjudge.net/contest/143318#problem/B 题意:给定一个有向图,每条边都有一个权值。每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的边的权值增加d,最后让所有边的权值的最小值大于零且尽量大。 分析: 最小
阅读全文
摘要:题目链接:http://vjudge.net/contest/143318#problem/A 题意: 求平均权值最小的回路。 分析: 平均权值不可能超过最大边,二分查,然后,由于是平均权值,就可以转换一下。 是否存在平均权值 < mid 的回路: w1 + w2 +.. +wk < k*mid (
阅读全文
摘要:看来一千个acmer有一千个迪杰斯特拉,Bellman-Ford也是一样。 看了刘汝佳的bellman-ford,简直和spfa一模一样啊!!! 松弛n -1 次还是可以松弛,说明有负环; 刘汝佳写得很有水平,学习了。每个点都有可能从这个点出发找到负环,都入队列,相互间分开,找第一个点,找到负边,入
阅读全文
摘要:题目链接:http://vjudge.net/contest/143062#problem/C 题意: 给定一个无向图,大写字母是城市,小写字母是村庄,经过城市交过路费为当前货物的%5,路过村庄固定交1,给定起点终点和到目标地点要剩下的货物,问最少要带多少货物上路,并输出路径,如果有多种方案,要求字
阅读全文
摘要:题目链接:http://vjudge.net/contest/143062#problem/A 题意:一个人要从点1去到点2,中间还有很多点和很多条边。问你如果他每次走的边(a,b)都满足:a点到目标点的最短距离<b点到目标点的最短距离,那么他从点1出发到点2总共有多少条路径。 分析: 从家出发使用
阅读全文
摘要:题目链接:http://vjudge.net/contest/142615#problem/B 题意:有A,B,C三个人物要分配个N个宇航员,每个宇航员恰好要分配一个任务,设平均年龄为X,只有年龄大于或等于X的宇航员才能分配任务A。只有年龄严格小于X的宇航员才能分配任务B。而任务C没有限制。有M对宇
阅读全文
摘要:2-SAT: n 个 bool 型变量, 有一些条件,要么 X 成立,要么 Y 成立。 目标: 给每个变量赋值,使得所有条件成立。 拆点: i 变量 为真表示2*i,为假 表示 2*i + 1; 这时,如果有一个条件为 x 成立,y 不成立,就连一条边 2*i —> 2*j + 1; 在这个图上搜索
阅读全文
摘要:题目链接:http://vjudge.net/contest/142615#problem/A 题意:n架飞机,每架可选择两个着落时间。安排一个着陆时间表,使得着陆间隔的最小值最大。 分析: 最小值最大,采用二分法,时间间隔最大不超过最晚的一个时间,对于每个时间间隔来说,在此间隔要求下,建立 2-S
阅读全文
摘要:题目链接:http://vjudge.net/contest/141990#problem/B 题意: 给一张有向图G,求一个结点集数最大的结点集,是的该结点集中任意两个结点 u 和 v,满足: 要么 u 能到达 v,要么 v 能到达 u 或者 u 和 v 可以互达 ; 这个和有向强连通图很像,连通
阅读全文
摘要:题目链接:http://vjudge.net/contest/141990#overview 题意是告诉你有n个命题,m条递推关系,表示某个命题可以推出另外一个命题。 现在问你至少在增加多少个递推关系可以保证所有命题两两互推。 把命题看成一个结点,推导看成有向边,就是n个结点,m 条有向边,要求添加
阅读全文
摘要:在同一个DFS树中分离不同的强连通分量SCC; 考虑一个强连通分量C,设第一个被发现的点是 x,希望在 x 访问完时立刻输出 C,这样就可以实现 在同一个DFS树中分离不同的强连通分量了。 问题就转换为判断,一个点是否 是 第一个被发现的点,这样,可以利用之前的 点-双连通分离的数据结构, lowl
阅读全文
摘要:有向图的强连通分量: 相互可达关系,每一个集合都是有向图的一个强连通分量SCC。 把一个集合看成一个点,SCC就形成了一个有向无环图——DAG; 如果DFS选择不好,从A点开始DFS,就会把整张图遍历一遍。不是同一个SCC就混乱了,我们希望,可以利用SCC的拓扑序列,从后往前DFS,这样,每次都出来
阅读全文
摘要:题目链接:http://vjudge.net/contest/141787#problem/B 白书P318 题目大意:有N个矿井 ,由一些隧道连接起来,现在要修建尽量少的安全通道,使得无论哪里发生事故,所有人均能逃出,求建的最少的安全通道数量和方案数. 分情况讨论: 在一个无向图上选择尽量少的点涂
阅读全文
摘要:题目链接:http://vjudge.net/contest/141787#problem/A http://poj.org/problem?id=2942 此题很经典 知识点:DFS染色,点-双连通 题意: 亚瑟王要在圆桌上召开骑士会议,为了不引发骑士之间的冲突,并且能够让会议的议题有令人满意的结
阅读全文
摘要:双连通包括两种: 1、点-双连通: 任意两点之间至少存在两条“点不重复”的路径,即内部无割顶。 2、边-双连通: 任意两点之间至少存在两条“边不重复的”路径,即内部无桥。 如图: 两个点-双连通分量:{1,2,3}、{3,4,5}; 一个边-双连通分量:{1,2,3,4,5}; 还是利用无向图的割顶
阅读全文
摘要:割顶: 关键点,删掉这个点后,图的连通分量 + 1; 桥: 在割顶的基础上,发现删除 (u,v) 这条边,图就变成非连通的了。 如何找出所有割顶和桥: 时间戳: 在无向图的基础上,DFS建树的过程中,各点进栈和出栈的时间 dfs_clock,进栈的时间 pre[],出栈的时间 post[] 在DFS
阅读全文
摘要:题目链接:https://uva.onlinejudge.org/external/101/10129.pdf 把单词的首字母和最后一个字母看做节点,一个单词就是一个有向边。有向图的欧拉定理,就是除了起点和终点外,其他的点,出度等于入度,而且,起点和终点的出度和入度相差 1 ,这个在上一篇文章中证明
阅读全文
摘要:每条边经过一次 —— 欧拉道路(俗称一笔画) 证明:(前题条件是:底图是连通的) 无向图:进和出是对应的(除了起点和终点),其他点的进和出数应该相等,也就是说,这个点的度应该是偶数,最多两个点可以是奇点,而且是从一个奇点出发,另一个奇点结束。全部都是偶点,就可以从任意点出发,从该点结束。 有向图:同
阅读全文
浙公网安备 33010602011771号