![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
图论
AaronChang6
这个作者很懒,什么都没留下…
展开
-
codeforces 1245D(最小生成树)
题面链接:https://codeforces.com/problemset/problem/1245/D题意大概是给你一些城市的坐标,可以在城市中建立发电站,也可以让某个城市和已经建好发电站的城市连接,保证在这两种操作下使得所有的城市供电,在城市建发电站需要花费Ci,城市a和城市b连接需要花费(|Xa-Xb| + |Ya-Yb| )*(Ka+Kb),求最小的花费让所有城市通电。思路:首先...原创 2019-11-09 00:33:45 · 335 阅读 · 0 评论 -
2019 ICPC南京站网络赛 H题 Holy Grail(BF算法最短路)
计蒜客题目链接:https://nanti.jisuanke.com/t/41305给定的起点是S,终点是T,反向跑一下就可以了,注意判负环以及每次查询需要添加边AC代码:#include<iostream>#include<vector>#include<queue>#include<algorithm>#include&...原创 2019-09-02 22:55:03 · 130 阅读 · 0 评论 -
牛客1080D tokitsukaze and Event (双向最短路)
题目链接:https://ac.nowcoder.com/acm/contest/1080/D首先建两个图,一个是权值为a的图,一个是权值为b的图。从s起点以spfa算法跑权值为ai的最短路到t点,d1[ i ]数组就表示在权值为ai的图中,s点到i点的最短路。再从t点为起点spfa算法跑权值为bi的最短路到s点,d2[ i ]数组表示在权值为bi的图中,t点到s点的最短路。在节点...原创 2019-08-28 15:31:45 · 103 阅读 · 0 评论 -
poj 3281Dining(网络流 拆点)
题目链接:http://poj.org/problem?id=3281题目大意:John养了N只奶牛,他为奶牛准备了F个食物和D个饮料,但是每只奶牛只对其中的一些饮料和食物感兴趣,现在请制定一些方案,使得尽可能多的奶牛吃到自己感兴趣的食物和饮料,求出最多满足奶牛的个数。思路:拆点建图跑dinic算法最大流,每只奶牛拆成两个点,例如第Ni个奶牛拆为Ni 和 Ni ’ , Ni和Ni'之间建立...原创 2019-08-17 14:32:02 · 127 阅读 · 0 评论 -
poj 3057(bfs+二分匹配)
题目链接:http://poj.org/problem?id=3057题目大概意思是有一块区域组成的房间,房间的边缘有门和墙壁,‘X’代表墙壁,‘D’代表门,房间内部的‘ . ’代表空区域,每个空区域站一个人,人可以向上下左右走,每走一步花费一秒钟,现在房间起火了,所有人向四周的门逃生,但是每秒钟一扇门只能通过一个人,每个人移动到门时,就算逃脱,问在选取使得所有人最优的逃生方案时,最后一个逃生...原创 2019-08-17 00:54:45 · 148 阅读 · 0 评论 -
codeforces 1204C Anna, Svyatoslav and Maps(floyd+dp)
题目链接:http://codeforces.com/problemset/problem/1204/C给定一组序列,P1,P2,P3...Pm,这是一组合法路径的序列,即任意的Pi和Pi+1之间有边相连,求一组新的序列V,V为原序列P的子集(通过删除P中某些元素获得), 且顺序遍历V序列中的各个顶点时,P序列这组路径是遍历所有V序列顶点的最短路径,输出V序列元素的个数和V序列各个元素。...原创 2019-08-22 02:11:52 · 191 阅读 · 0 评论 -
codeforces 711 D.Directed Roads(tarjan 强连通分量 )
题目链接:http://codeforces.com/contest/711/problem/D题目大意:Udayland有一些小镇,小镇和小镇之间连接着路,在某些区域内,如果从小镇Ai开始,找到一个环,环中每个小镇只经过一次,最终回到了Ai,那么认为这个环是混乱的,现在需要治理这种混乱。可以做的操作是改变环上某个小镇Ak到小镇Aj路的方向,使得无法从Ai开始绕这个环再次回到Ai,那么可以认为...原创 2019-08-16 00:39:13 · 151 阅读 · 0 评论 -
codeforce 427 C. Checkposts(tarjan 强连通分量)
题目链接:http://codeforces.com/contest/427/problem/C题目大意是有n个junctions,这些junctions之间有m条道路,两两相连,现在在junction上建立Checkposts,而且建立checkposts需要花费cost,如果某个点 i 建立了checkpost那么从这个点 i 开始绕一个环最终可以回到点 i ,那么途中经过的点都可以被监视...原创 2019-08-16 00:13:40 · 314 阅读 · 0 评论 -
poj 2195 Going Home(最小费用流)
题目链接:http://poj.org/problem?id=2195题目大意是给一张网格,网格中m代表人,h代表房子,网格中的房子和人数量相等,人可以向上向下走,每走1步花费加1,每个房子只能住一个人,问使得所有人住房子里最少的花费是多少?最小费用流的题目,最大流跑spfa,每个人和每个房子之间建边,边的流量为1,花费是人到房子的距离,假定一个源点和一个汇点,源点连接所有的人,每条边流量...原创 2019-08-15 23:22:20 · 141 阅读 · 0 评论 -
codeforce D. Shortest Cycle(floyd求最短环)
题目链接:http://codeforces.com/contest/1206/problem/D给n个点,如果点a[ i ] &a[ j ] 不为0,则点a[ i ] 和 a[ j ] 直接可以连接双向边,如果这些点形成的图中有环,求最短路径的环,如果没有输出-1.思路:整体是用floyd求最短环,但是数据量很大,有1e5的数据,空跑floyd直接超时,但是由于题目的特殊性,两数...原创 2019-08-25 00:38:18 · 151 阅读 · 0 评论 -
hdu 1532 Drainage Ditches(网络流裸题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532题目大意是:农夫约翰要把多个小池塘的水通过池塘间连接的水渠排出去,从池塘1到池塘M最多可以排多少的水流量,给定水渠和连接的两个小池塘,以及该水渠的流量,求最大流。其实就是裸的最大流,源点是1号池塘,汇点是M号池塘,从1到M做一个dinic算法求出最大流就行,但是我一直WA,怎么也改不对,后...原创 2019-08-11 17:25:47 · 118 阅读 · 0 评论 -
hdu 6214 Smallest Minimum Cut(最小割的最少边数)
题目大意是给一张网络,网络可能存在不同边集的最小割,求出拥有最少边集的最小割,最少的边是多少条?思路:题目很好理解,就是找一个边集最少的最小割,一个方法是在建图的时候把边的容量处理成C *(E+1 )+1,C是初始容量,E是边的个数,假设之前不做此操作处理求得最大流是maxf,处理之后跑dinic求出的最大流就是 maxf *(E+1)+ n , n就代表用了几条边,其中 n 必定是小于 E+...原创 2019-08-20 14:37:00 · 235 阅读 · 0 评论 -
hdu1874 (spfa求最短路裸模板题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874很简单的最短路问题,刚刚学习spfa,其实很简单,思想和一维动态规划差不多,数组d[i]表示起点s到i的最短距离,不断用bfs更新这个距离就行,如果终点为t,那么最终d[t]就是起点s到t的最短路。d[i] = min(d[i] ,d[j] + e(i , j) ) ; e(i , j)是 i...原创 2019-08-14 22:47:48 · 203 阅读 · 0 评论 -
hdu 1045 Fire Net(二分图)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1045题目大意为给定一个最大为4*4的棋盘,棋盘可以放置堡垒,处在同一行或者同一列的堡垒可以相互攻击,在棋盘上也有城墙,可以隔离同一行同一列堡垒的相互攻击,“X”表示有城墙,“ . ”表示空地,问该棋盘最多可以放置多少个堡垒?此题为二分图匹配问题,但是起初我不知道怎么建图,看题解发现一个规律,同...原创 2019-08-07 14:45:38 · 115 阅读 · 0 评论 -
hdu 1281 棋盘游戏(二分图)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1281每行每列作为节点,给可以放车的点将对应的行列连边,最多可放置的车即为建二分图后的最大匹配,跑一边匈牙利算法即可。第二问重要的棋盘点(其实就是问某个可以放置车的点被删除之后,会不会影响最终放置车的数量),也就是会不会影响二分图的最大匹配数,其实就是删除这个点对应行列连接的边,如果二分图最大匹...原创 2019-08-08 13:12:35 · 106 阅读 · 0 评论 -
codeforces 962F.simple cycle(tarjan/点双连通分量)
题目连接:http://codeforces.com/contest/962/problem/F题目大意是定义一个simple cycle为从一个节点开始绕环走一遍能经过simple cycle内任何一个节点,并且不超过一次。因为是无向图,而且是环,即为连通分量,所以模型转化为求点双连通分量,依据题意求得的点双连通分量需要满足题目simple cycle的定义,所以当一个点双连通分量的边数...原创 2019-08-01 14:22:15 · 449 阅读 · 0 评论 -
POJ 3177 Redundant Paths (tarjan求边双连通分量)
题目连接:http://poj.org/problem?id=3177题目大意是给定一些牧场,牧场和牧场之间可能存在道路相连,要求从一个牧场到另一个牧场要有至少两条以上不同的路径,且路径的每条path是分立的独立的,意为不能有公共道路,问最少添加多少条道路达成题目的要求。图论问题,因为题目要求不能有公共道路,就是路径不能有公共边。题目转化为求图的边双连通分量,每个边双连通分量内各个牧场肯定...原创 2019-08-02 22:46:37 · 247 阅读 · 0 评论