ICode9

精准搜索请尝试: 精确搜索
  • 最短路的一些总结2020-01-27 10:55:43

    spfa 有负边时使用 复杂度可以被卡到nm(坑:怎么卡?) 判负环(一个点入队了n次) djkstra 每次走最短的路 有负边时不能使用 每次出队一个点(logn),更新点的所有边(均摊m),所以(n+m)logn 没有负边求最短路不要作死用spfa。。。

  • 最短路SPFA—Arbitrage(POJ-2240)2020-01-15 19:35:49

    题目链接:>_> 题目:Arbitrage Arbitrage is the use of discrepancies in currency exchange rates to transform one unit of a currency into more than one unit of the same currency. For example, suppose that 1 US Dollar buys 0.5 British pound, 1 British pound bu

  • NUIST 集训 20191212 图论初步2019-12-12 23:53:31

    学习了四种算法,分别是SPFA Dijkstra Kruskal Prim。还有拓扑排序。周日周一打了几个板子题目,周二写完了洛谷上的题目,周三周四瞎找了两道题目做了,还有一道没做出来    前面还知道基本原理,到了后面做题时就是胡乱bfs带一个优化了。结果周四晚自习的时候突然发觉自己什么都不会。

  • 852. spfa判断负环2019-11-11 21:01:24

    给定一个n个点m条边的有向图,图中可能存在重边和自环, 边权可能为负数。 请你判断图中是否存在负权回路。 输入格式 第一行包含整数n和m。 接下来m行每行包含三个整数x,y,z,表示存在一条从点x到点y的有向边,边长为z。 输出格式 如果图中存在负权回路,则输出“Yes”,否则输出“No”。 数据

  • [模板]负环2019-11-09 09:01:19

    在博大精深的图论算法中有这样一个神奇的存在! 当我们求最短路时,往往会发现有边权为负的情况存在,这时候我们的dijksra便不能很好的胜任他的职务了。 那么伟大的spfa算法就出现了(至于同学们在刚接触这个算法的时候,一定会听到:关于SPFA,他死了,这是因为dfs优化下的spfa时间复杂度极优,亲

  • 递归型SPFA判负环 + 最优比例环 || [Usaco2007 Dec]奶牛的旅行 || BZOJ 1690 || Luogu P28682019-11-05 13:56:53

    题外话:最近差不多要退役,复赛打完就退役回去认真读文化课。 题面:P2868 [USACO07DEC]观光奶牛Sightseeing Cows 题解:最优比例环 题目实际是要求一个ans,使得对于图中任意一个环满足 sig(i=1,n)v[i]/sig(i=1,n)e[i]<=ans 所以将公式变换为:sig(i=1,n)v[i]-[(sig(i=1,n)v[i])*ans]<=0 s

  • SPFA2019-10-26 19:54:58

    原创建时间:2017-12-30 21:05:19 简单的SPFA最短路模板,适用于图的边权有负数的情况。 算法实现: 我们用数组d记录每个结点的最短路径估计值,而且用邻接表来存储图G。运用动态逼近法:设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点u,并且用u点当前的最短路径估

  • SPFA2019-10-24 23:00:22

    这是求带负边权但是不能有负环的最短路算法,是中国人发明的一种算法吧也是。 首先我们还是用前向星存图,dis[]存当前的最短路径,然后用队列存储待优化的点。首先将起点入队,其次去遍历他所连接的点,如果可以松弛那么只要当前不在队里就将其入队。每一次去用他的队首去去遍历就可以,当队

  • 【AHOI2014/JSOI2014】骑士游戏2019-10-23 22:03:56

    JYY一共有两种攻击方式,一种是普通攻击,一种是法术攻击 两种攻击方式都会消耗JYY一些体力。采用普通攻击进攻怪兽并不能把怪兽彻底杀死 怪兽的尸体可以变出其他一些新的怪兽,注意一个怪兽可能经过若干次普通攻击后变回一个或更多同样的怪兽 而采用法术攻击则可以彻底将一个怪兽杀死

  • 模板 - SPFA2019-10-23 21:02:01

    普通的SPFA: int top; int head[MAXN]; struct Edge { int v, nxt; int w; } edge[MAXM]; void init() { top = 0; memset(head, -1, sizeof(head)); } void add_edge(int u, int v, int w) { ++top; edge[top].v = v; edge[top].w = w; edge[

  • POJ - 3259 - Wormholes = SPFA2019-10-23 20:54:01

    http://poj.org/problem?id=3259 看见500的数据量莽了一发Floyd,还T了。讲道理应该不至于的,换个快读试试。 #include<algorithm> #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<map> #include<set> #include<stack> #

  • luogu P4042 [AHOI2014/JSOI2014]骑士游戏2019-10-16 09:01:44

    这道题首先想到Dp。。 不妨设 f[i] 表示杀死怪兽 i 需要的最少体力, 那么有 f[i] = min( k[i] ,  s[i] + ∑ f [ri] ) , 这还是很好想的。。 但是没有办法转移啊,因为可能有环,高斯消元??,不存在的。。 然后就开始搞最短路了,但怎样建图呢,一般的跑最短路都是有起点,有终点,有边权,但这道题

  • [NOI2014]魔法森林[最短路 spfa]2019-10-13 20:56:03

    [NOI2014]魔法森林 一条边有\(a_i,b_i\)两个权值 求\(1->n\)路径上\(a\)的最大值与\(b\)的最大值之和的最小 ==有lct的做法 但是spfa动态加点的做法也很巧妙! 先将其按\(a\)从小到大排序 然后依次加入边 对于ans的每次更新 当ans第一次更新时说明在加入这条边后才存在\(1->n\)的路

  • [AHOI2014/JSOI2014]骑士游戏(SPFA的本质)2019-10-04 20:02:02

    题意 消灭一个魔物有两种方法,消耗\(a_i\)代价将它彻底消灭,或者消耗\(b_i\)代价将它变成多个其他魔物,求消灭1号魔物的最小代价 思路 SPFA:一个点的最短路径被更新后它的儿子节点才可能被更新,于是将该点入队,这样做减少了没有更新的无用枚举 对于这道题,设\(dis_i\)表示一个\(i\)魔物被

  • 洛谷p1993 差分约束+dfs版spfa2019-09-18 17:42:54

    这道题算作是差分约束模板题了, 关于差分约束,我强推这位大佬的博客。https://blog.csdn.net/consciousman/article/details/53812818 里面博客这段话就是解决这些题目的精髓了; (下面这段话是上面博客里面的) /*************************************************************

  • 【简单的spfa+优先队列】2019-09-16 14:02:34

    题目是给出只有x和y构成的图,相同元素走路不花费,不同元素间花费1,给出起点终点,最少花费是 #include<cstdio>#include<algorithm>#include<math.h>#include<queue>#include<string.h>using namespace std;const int maxn=110;int nxt[4][2]={ {0,1},{0,-1},{-1,0},{1,0} };int vis[m

  • Spfa2019-09-12 20:04:05

    Spfa   \(Spfa\) 算法的全称是: \(Shortest\) \(Path\) \(Faster\) \(Algorithm\) ,是 \(Bellman-Ford\) 算法的队列优化算法的别称,通常用于求含负权边的单源最短路径,以及判负权环。 基本原理   设立一个先进先出的队列用来保存待优化的结点,优化时每次取出队首结点 \(u\) ,并且用

  • POJ3259 Wormholes 【spfa判负环】2019-09-07 11:00:25

    题目链接:http://poj.org/problem?id=3259 Wormholes Time Limit: 2000MS   Memory Limit: 65536K Total Submissions:75598   Accepted: 28136 Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormho

  • 2019ACM-ICPC南京网络赛Holy Grail (SPFA模板题)2019-09-01 20:01:10

    Holy Grail   限制 1000 ms 256 MB   As the current heir of a wizarding family with a long history,unfortunately, you fifind yourself forced to participate in the cruel Holy Grail War which has a reincarnation of sixty years.However,fortunately,you summoned a

  • 天路(01规划+SPFA判负环)2019-08-21 10:56:37

    传送门 公式图片来自洛谷题解 因为求V之和与P之和的比值的最大值。这个值不超过200 考虑到二分答案,设ans为最大值,则有 可以看出是01分数规划 那么每次就重新分配边的权值: ans*ci-vi 再判负环,有说明ans不成立,反之成立。 特别提一下:这里判负环是用dfs版的spfa,而不是bfs版的,dfs版的

  • SPFA算法。2019-08-20 17:40:21

    我们的城市有几个货币兑换点。让我们假设每一个点都只能兑换专门的两种货币。可以有几个点,专门从事相同货币兑换。每个点都有自己的汇率,外汇汇率的A到B是B的数量你1A。同时各交换点有一些佣金,你要为你的交换操作的总和。在来源货币中总是收取佣金。 例如,如果你想换100美元

  • 2017多校第4场 懒人跑步(spfa)2019-08-15 16:01:00

    题目描述 在ZJU,每个学生都被要求课外跑步,并且需要跑够一定的距离 K ,否则体育课会挂科。 ZJU有4个打卡点,分别标记为 p1,p2,p3,p4 。每次你到达一个打卡点,你只需要刷一下卡,系统会自动计算这个打卡点和上一个打卡点的距离,并将它计入你的已跑距离。 系统把这4个打卡点看成一个环。

  • 图论小专题C2019-08-12 13:57:39

    3 负环及其应用 3.1 判定算法 判断负环只能用“边松弛”算法,也就是Bellman-Ford和SPFA算法。这两个算法都是\(O(NM)\)级别的。因为负环中一定存在一条负边,使得\(dis_i > dis_j+d(i,j)\)恒成立。因此,在用边松弛算法时,如果一条边被松弛超过一定次数,我们就可以判定图中存在负环。负环

  • 星空(差分转化,状压DP,最短路)2019-08-11 17:53:35

    一道很好的题,综合很多知识点。 首先复习差分:      将原来的每个点a[i]转化为b[i]=a[i]^a[i+1],(如果是求和形式就是b[i]=a[i+1]-a[i]) 我们发现这样的方便在于我们可以运用前缀和的形式,求出单点值,当然,差分一般支持区间修改 单点查询,同时我们发现异或也满足转化的性质,我们发现异或

  • 2019.8.4刷题统计2019-08-04 16:05:15

    第一题:1105 这道题极其简单。 AC代码: 第二题:1106 这道Dijkstra的模板题我竟然提交了三遍才过。但我的错误并不在Dijkstra里面,而是在主程序中的一些细节。 第一次提交: 看到上面红圈中的内容,就可以知道这份代码一定是会超时的了。 Dijkstra函数在每一次计算中都重复调用了2(p-1)次

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有