图论
文章平均质量分 90
gjghfd
这个作者很懒,什么都没留下…
展开
-
bzoj1497 [ NOI2006 ] --最大权闭合子图
建模:将用户群和中转站看成点。对于用户群i,将其向a[i],b[i]连一条边,将c[i]作为它的权值。对于中转站i,将-p[i]作为它的权值。然后问题就转化为求图的最大权闭合子图。 图的闭合子图是指一个点集V,满足对于任意i∈V,i的所有出边指向的点∈V。根据定义可以知道,图的闭合子图是允许超过一个联通块的。图的最大权闭合子图是一个图中权值和最大的闭合子图。怎么求一个图的最大权闭合子原创 2017-05-26 16:42:27 · 190 阅读 · 0 评论 -
LA4287--tarjan
题目大意: 在数学中,我们常常需要完成若干个命题的等价性证明。比如,有4个命题a,b,c,d,我们证明a↔b,然后b↔c,最后c↔d。注意每次证明都是双向的,因此一共完成了6次推导。另一种方法是a→b,然后b→c,接着c→d,最后d→a,只需4次。现在你的任务是证明n个命题全部等价,且你的朋友已经为你做出了m次推导(已知每次推导的内容),你至少还需要做几次推导才能完成整个证明?先原创 2017-05-26 16:39:35 · 228 阅读 · 0 评论 -
bzoj1001 -- 最短路
http://www.lydsy.com/JudgeOnline/problem.php?id=1001思路:这应该算是经典的最大流求最小割吧。不过题目中n,m这里讲一下平面图的对偶图性质。在平面图中,所有边将图分成了n个平面。我们将平面标号,对于原图中的每条边,在与之相邻的两个平面间连一条边,最后得到的图就是原图的对偶图。对偶图有如下性质:1、对偶图的边数与原图相等。2、原创 2017-05-26 16:40:25 · 261 阅读 · 0 评论 -
codeforces802C Heidi and Library (hard) -- 费用流
题目大意:每天会有一个客人来图书馆,共n天,第i个客人要看的书是ai。 为了保证每个客人都能读到想要的书,你可以在任意时间去商店买书并放入图书馆或者从图书馆里丢掉几本书,图书馆里最多只能有k本书。 第i本书的价格是c[i]。问最少花费是多少?原创 2017-05-30 10:27:27 · 708 阅读 · 0 评论 -
poj1698 [ Usaco2007 Feb ] --最大流
题目大意: 爱丽丝要拍电影,有n部电影,规定爱丽丝每天只能拍一部电影,每部电影在每个礼拜只有固定的几天可以拍电影,只可以拍前面w个礼拜,并且这部电影要拍d天,问爱丽丝能不能拍完所有的电影。思路: 建图。点1~350代表天数(因为最多只有350天),点351~370代表电影(最多只有20部电影)。从源点向每部电影连一条容量为d的边,从每部电影向可以拍摄它的那几天连一条原创 2017-05-26 16:40:10 · 254 阅读 · 0 评论 -
bzoj2324 [ ZJOI2011 ] -- 费用流
先用floyd求出不经过大于i或大于j的点的i,j间最短路径,然后考虑这样建图:对于每个点i,将其拆分成i、i',连边:s -> i' 容量为INF,费用为0s -> 1 容量为k,费用为0i' -> j 容量为1,费用为dist[i][j]i -> t 容量为1,费用为0此时这张图的最小费用最大流就是答案。代码: 1 #include 2 #include 3 #inc原创 2017-05-26 16:43:35 · 183 阅读 · 0 评论 -
poj2186--tarjan+缩点
题目大意: 每一头牛的愿望就是变成一头最受欢迎的牛。现在有N头牛,给你M对整数(A,B),表示牛A认为牛B受欢迎。 这种关系是具有传递性的,如果A认为B受欢迎,B认为C受欢迎,那么牛A也认为牛C受欢迎。你的任务是求出有多少头牛被所有的牛认为是受欢迎的。 先用tarjan求出每个强连通分量,再缩点,统计每个点的出度,如果有且只有1个出度为0的点,就输出这个点原创 2017-05-26 16:39:30 · 236 阅读 · 0 评论 -
[ tarjan ] Codeforces700C Break Up
先枚举删一条边,然后找出新图中所有的桥,可以发现如果一条边是桥且在 sss 到 ttt 的路径上,将其删去一定会使 sss 与 ttt 不连通。求个最小值就好了。#include<bits/stdc++.h>using namespace std;const int N=1010;const int M=30010;int k,n,m,S,T,x,y;int w[M]...原创 2018-02-26 10:02:17 · 333 阅读 · 0 评论