codeforces的图论专题
个人的图论训练专题
黎辰
其实一切只为一个理由,一切理由在一个人面前也都沦为借口
展开
-
codeforces 295B B. Greg and Graph(floyd+dp)
题目链接:codeforces 295B题目大意:给出n个点的完全有权有向图,每次删去一个点,求每次操作前整张图各个点的最短路之和。题目分析:首先删边对于我们来说是不好做的,所以我们想到了通过加点的方式逆向地做,那么加点怎么做呢?其实就是一个我们很熟悉的算法:floyd,因为我们通常用的都是它的简化版本,所以可能很多人并不理解它的确切的思想。在介绍这道题的具体解法之前,我先解释一下floyd,原创 2015-09-18 11:53:42 · 1961 阅读 · 1 评论 -
codeforces 505B B. Mr. Kitayuta's Colorful Graph(bfs)
题目链接:codeforces 505B题目大意:给出一个有向图,边有不同的颜色,任意给出查询,查询两点能够只通过一种颜色连通的颜色的种类数。题目分析:根据不同颜色建边,bfs即可,队列维护可用的点。AC代码:#include <iostream>#include <cstring>#include <cstdio>#include <vector>#include <algorithm>原创 2015-09-12 17:18:04 · 1918 阅读 · 0 评论 -
codeforces 498C C. Array and Operations(最大流+数论)
题目链接:codeforces 498C题目大意:给出一组数,然后给出他们之间的边,构成一张由奇数点和偶数点组成的二分图,然后存在边的数可以除以他们的公约数,问最多的操作次数。题目分析:为了得到了最多的操作次数,每次操作一定是除以两个数的公共的质因数。所以我们对于每一个质因数建图,原图中的边的两个点都存在这个这个质因数的连边,边权为两个点这个质因数的数量中较小的那一个,奇数点与源建边,边权为它存原创 2015-08-25 09:02:33 · 1241 阅读 · 0 评论