摘要: 题目链接 蓝书上的例题,题意是给定一个有向图,边带权,每次操作可以选择一个点,把以该点为终点的边权都-1,以该点为起点的边权都+1,要使得最小的边权最大,问最大值是多少 题解是转化成差分约束问题求解,但实际通过观察可发现,每个环的边权是固定的,因此相当于求平均值最小的环,二分+判负环即可 SPFA判 阅读全文
posted @ 2021-04-04 22:52 jrltx 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 有这样一类问题(例:loj121,122),要求在无向图中实现如下操作: 1.增加一条边 2.删除一条边 3.询问两点是否连通 这类问题有离线做法和在线做法,两者的思想完全不同 离线做法的思想是,考虑到每一条边存在的时间范围是一个区间,在线段树对应的区间打上标记,然后从根节点自顶向下dfs,每访问一 阅读全文
posted @ 2021-04-04 18:20 jrltx 阅读(900) 评论(0) 推荐(0) 编辑
摘要: 题目链接 Floyed动态加点, 每加一个点,求经过这个点的最小环,取min即可 注意inf相加溢出 1 #include<bits/stdc++.h> 2 using namespace std; 3 typedef long long ll; 4 typedef double db; 5 con 阅读全文
posted @ 2021-04-04 12:32 jrltx 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题意:求无向图最小环(n<=8000,m<=4000) 动态把边加进去跑Dij,在加入一条边(u,v,c)之前,先求出mindis(u,v),更新答案ans=min(ans,mindis(u,v)+c),复杂度$O(m^2logn)$ 1 #include<bits/stdc++.h> 2 阅读全文
posted @ 2021-04-04 11:07 jrltx 阅读(99) 评论(0) 推荐(0) 编辑