
图论 - 负环
负环
繁凡さん
只想当个小透明,就图一乐^q^,希望可以做出一些微小的贡献(目前研究方向:自然语言处理、深度学习中的对抗攻击、元学习,欢迎大佬们来与我交流^0^)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
解题报告:AcWing 1165. 单词环(01分数规划、hash、经验优化)
本题的关键在于: 建图 01分数规划 本题的数据过大,如果直接spfa判断会TLE,因此我们使用经验优化,就是如果所有的点入队的次数过多,比如大于100000,那么我们直接认为它是存在正环的。(免去TLE,但是这个不一定对) 建图 做一个对偶 主要是除了两端的两个字母有用以外,字符串中间的其他所有的字符都没有用,因此我们可以直接这样建图:直接hash两端的两个字母作为结点,边的权值为该字符串的个数。这样建的图结点和边的个数为1e7,没有超限。 如果我们直接像下面这样暴力建图,数据会达到1e10,.原创 2020-07-31 18:09:01 · 382 阅读 · 0 评论 -
模板 - 判断负环(超时高效优化技巧)、01分数规划
模板 - 判断负环(超时高效优化技巧)、01分数规划原创 2020-07-22 15:46:51 · 752 阅读 · 0 评论 -
【图论专题】负环与01分数规划
我们一般使用方法2,这里有两个需要注意的点: 将所有点入队 这里是假象有一个虚拟源点,虚拟源点与所有点连接权值为0的边,我们将虚拟源点入队,那么第一轮while就是会将所有的结点入队,因此我们直接将所有点入队,就省去了建虚拟源点这一步。 将所有的dist[i] = 0; 实际上这里所有点的距离都可以初始化为任意值,因为有负环最终总是会到达负无穷, spfa求负环时理论的复杂度为O(m)O(m)O(m),实际的时间复杂度为O(nm)O(nm)O(nm) 有一个经验之谈:当发现spfa较慢,一直无法结束(.原创 2020-07-20 16:03:42 · 381 阅读 · 0 评论 -
解题报告:luoguP2868 Sightseeing Cows G(最优比率环,负环判定,二分答案)
#include<iostream> #include<stdio.h> #include<string.h> #include<algorithm> #include<queue> #include<map> using namespace std; const int N = 1e4+7; const int M = 5e4+7; const double eps = 1e-6; int f[N]; int head[N],v.原创 2020-06-30 23:58:30 · 563 阅读 · 0 评论