图论
明日可7
SDUST_SE_17_QiuPeng
Coding my youth
展开
-
HDU 2767 Proving Equivalences (强连通 + 缩点)
题意:给出一个图,问最少加几条边使得该图成为强连通图分析:先跑一遍 tarjan 算法求出强连图分量的个数,然后把这些分量缩成一个点,因为一个强连通图的每个点的入度和出度都不为零,所以统计这些点的入为0的数目和出度为0的数目,选择较大的输出即可代码:#include <map>#include <set>#include <list>#inc...原创 2018-08-14 20:51:24 · 326 阅读 · 0 评论 -
HDU 5889 Barricade (最短路+割边)
题意:从1点到n点,有多条路径,在路径上需要放置障碍物,花费最少,使得1->不通,这里的路径都是所有最短的路径分析:这题本质上是个最小割边问题,直接跑最大流即可,但是这题要求的是最短路径上的最大流,我们可以先从n点预处理一下到每个点的最短距离,然后在增广的时候判断现在的点和下一个点是否满足d[now]=d[next]-1即可,这里由于都是由最短路径向前增广,所以不用考虑负向增广(ltx大...原创 2018-08-24 13:38:31 · 420 阅读 · 0 评论 -
HDU 5883 The Best Path (欧拉回路/路径)
题意:给出n个点,m条边,每个点都有一个权值,每个边能且只能经过一次,求经过点的亦或值分析:只显然是一个欧拉图的问题,根据描述有可能是欧拉回路也有可能是偶来通路。我们先判断这个图是否能构成欧拉图,用度数来判断就行,如果度数为奇数的点的个数等于零为欧拉回路,等于二为欧拉通路,否则够不成欧拉图。我们先以欧拉通路跑一遍,求出亦或值,然后如果是欧拉回路就枚举一下起点(回路起点和终点相同)。对于亦或值的...原创 2018-08-24 15:15:15 · 326 阅读 · 0 评论 -
CTU 2017 J - Punching Power (二分图匹配)
题意:公园管理层最终决定在公园的各个战略位置安装一些流行的拳击机。实际上,为了弥补以前缺少的机器,他们决定安装尽可能多的机器。令人惊讶的是,公园不会被新机器堵塞,因为对于机器的位置存在一些非常严重的法律限制。管理层已经标记了所有可能的拳击机位置以及它们在公园计划中的相应坐标。此外,他们还必须遵守制造商安全规则:任何两台拳击机之间的距离必须至少为1.3米。帮助管理层确定可安装在公园内的最大数量的...原创 2018-08-21 19:31:29 · 424 阅读 · 0 评论 -
UVA 820 Internet Bandwidth (网络流裸题)
PS:注意是双向边代码:#include <map>#include <set>#include <list>#include <cmath>#include <queue>#include <stack>#include <cstdio>#include <vector&am原创 2018-08-21 21:54:01 · 429 阅读 · 0 评论 -
HDU - 5988 2016 QingDao ICPC G (费用流)
题目:https://vjudge.net/problem/HDU-5988题意:一个网络流的图,有n个点,从1~n,然后m条边,每个点有两个值,一个是人的数量一个是饭的数量。每条边有容量,还有走上去可能踩断电线的几率。问让所有人吃到饭的前提下断电线的最小概率是多少。 分析:使用log把乘法变加法,先建容量为1,费用为0的边,之后建正常的边,以0,n+1为源点和汇点跑费用流即可代码:...原创 2018-10-03 19:49:48 · 162 阅读 · 0 评论 -
HDU - 5991 Cliques 2016ACM/ICPC亚洲区青岛站 J (dfs)
题意:给出一个矩阵表示的无向图,可以增边和删边使得任意子图中,任意点之间都连有一条边,最多增删10次,输出最小次数分析:运用了floyd和点覆盖集的思想,对于一条已经连好的边,找到一个点和这条边的一个点有连边而和另一个点没有连边,修改这三个点的连边情况,dfs即可代码:#include <bits/stdc++.h>#define mem(a,b) memset(a,b...原创 2018-10-05 19:55:12 · 344 阅读 · 1 评论 -
UVA 10801 Lift Hopping (最短路)
分析:题目规定了换乘的时间,所以这题就与根据时间的流逝没有关系的,变成了一个最短路问题,每个状态有两个属性,一个是所在电梯 i ,所在楼层 j ,以为本题的数据较小。可以用 i * 100 + j 来表示状态。然后就是求个最短路就行了#include <iostream>#include <cstdio>#include <cstring>#incl...原创 2019-02-10 17:39:07 · 211 阅读 · 0 评论