随笔分类 -  图论

摘要:" D. Shichikuji and Power Grid " 参考: "Codeforces Round 597 (Div. 2)" 思路:一个很裸的最小生成树。把建立基站看成是,城市与源点(虚构的)建边。由此建立最小生成树,即可得出答案。 代码: cpp // Created by CAD o 阅读全文
posted @ 2019-11-02 15:05 caoanda 阅读(253) 评论(0) 推荐(0)
摘要:"P2756 飞行员配对方案问题" 参考: "「网络流24题」 1. 飞行员配对方案问题" 思路:这是个二分图的匹配问题,虽然之前写过一遍了,再写一遍温习温习也无妨。使用匈牙利算法 感觉参考博客中有一句话特别经典,很能描述匈牙利算法的思路..... 👇 👇 👇 👇 「如果我除了她(v)还能追 阅读全文
posted @ 2019-10-05 13:26 caoanda 阅读(179) 评论(0) 推荐(0)
摘要:"D Complete Tripartite" 思路:这个题是个染色问题。理解题意就差不多写出来一半了。开始的时候还想用离散化来储存每个点的状态,即它连接的点有哪些,但很无奈,点太多了, 范围内肯定存不完,于是想到用 来写,但是 py 也没有很熟练.....便放弃了。 需要注意的: 要统计总共有多少 阅读全文
posted @ 2019-10-02 14:54 caoanda 阅读(215) 评论(0) 推荐(0)
摘要:"F. Konrad and Company Evaluation" 参考: "[codeforces 1230F]Konrad and Company Evaluation 暴力" 思路:题意分析见参考博客。因为求的是三元组的个数,所以在保存的时候的时候就保存为有向图,让工资少的员工指向工资多的员 阅读全文
posted @ 2019-10-01 15:49 caoanda 阅读(241) 评论(0) 推荐(0)
摘要:"E. Kamil and Making a Stream" 参考: "Codeforces Round 588 (Div. 2) E. Kamil and Making a Stream 求树上同一直径上两两节点之间gcd的和" 思路:求的就是 之间所有最短路的 之和。 用一个 来储存每一个结点可 阅读全文
posted @ 2019-09-29 22:46 caoanda 阅读(213) 评论(0) 推荐(0)
摘要:"C Anadi and Domino" 参考: "Anadi and Domino" 思路:分为两种情况: ①`n ② ,在这种情况下肯定会出现某两个点 和`b a`和 都有一条边,那么,只能够在其中一条边上放多米诺牌,而另外一边不可以。那么我们就可以将它分成两部分,一个是连接 的边,一个是连接 阅读全文
posted @ 2019-09-25 18:32 caoanda 阅读(322) 评论(0) 推荐(1)
摘要:最大流=最小割 参考: "【转载】最小割" 可以证得最大流的值即为最小割 最大流可由 算法求得 阅读全文
posted @ 2019-09-14 15:19 caoanda 阅读(170) 评论(0) 推荐(0)
摘要:Dijkstra 思路:每一次枚举当前没有枚举过的 值最小的点 ,然后对该结点进行标记,然后再分别遍历 的每一条边,用 去更新 , ,`w[x][y]`表示 x 与 y 之间的边的权重,具体 Dijkstra 的结构实际上是跟 bfs 差不多的,可以利用一个优先队列来对 Dijkstra 进行优化。 阅读全文
posted @ 2019-08-20 11:53 caoanda 阅读(188) 评论(0) 推荐(0)
摘要:Floyd 参考: "Floyd 算法" "第一篇Floyed题解" 模板题: "寻宝之路Clear And Present Danger" "牛栏Cow Hurdles" Floyd的思路:首先 $f[i][j]$ 表示的是 $i$ 到 $j$ 的最短路径的长度, $f[i][j]$初始化的时候, 阅读全文
posted @ 2019-08-19 23:38 caoanda 阅读(169) 评论(0) 推荐(0)