hdu1317 XYZZY Floyd + Bellman_Ford】的更多相关文章

这题,我在学搜索的时候做过.不过好像不叫这名字. 1.先用Floyd算法判断图的连通性.如果1与n是不连通的,输出hopeless. 2.用Bellman_Ford算法判断是否有正圈,如果某点有正圈,并且该点与第n点是连通的.就输出winnable.当然,没有正圈的情况下,可以到达也是可以的.然后就是如何找正圈的问题.Bellman_Ford算法可以判断有没有负圈.Bellman_Ford是解决最短路问题的,核心是松弛法.如果dist[v]<dist[u]+Map[u][v],则dist[v]=…
http://acm.hdu.edu.cn/showproblem.php?pid=1317 题意: 给出一个有向图,每到达一个点,都会加上或减去一些能量,我们要做的就是判断从1出发是否能到达n.初始能量有100,行走的途中能量不能小于等于0. 思路: 首先我们用floyd来判断一下1和n之间是否有通路. 其次就是bellman_ford算法来判正环了. #include <iostream> #include <cstring> #include <algorithm>…
题意:给出n个房间,初始在房间1有100的能量值,每次进入一个房间,能量值可能增加也可能减小,(是点权,不是边权),问能否到达终点的时候能量值还为正 这题自己写的时候wa--wa-- 后来看了题解,还是wa---wa--- 题解很详细http://blog.csdn.net/freezhanacmore/article/details/9937327 记录下自己犯的错误吧 首先是floyd函数初始化的时候,直接写在了函数里面,这样是不对的,因为输入值在前,调用函数在后,这样就相当于将之前输入的可…
题目大意:原题链接 给你一张图,初始你在房间1,初始生命值为100,进入每个房间会加上那个房间的生命(可能为负),问是否能到达房间n.(要求进入每个房间后生命值都大于0) 解题思路: 解法一:Floyd+Bellman 1.Floyd先判断图是否连通,不连通则直接失败 2.Bellman Ford然后跑最长路,判断是否有正环或者有正通路 #include<cstdio> #include<cstring> using namespace std; ],d[]; ][],link[]…
题意: 给出一些货币和货币之间的兑换比率,问是否可以使某种货币经过一些列兑换之后,货币值增加. 举例说就是1美元经过一些兑换之后,超过1美元.可以输出Yes,否则输出No. 分析: 首先我们要把货币之间的关系转化成一张图.转化时,用STL里面的map很方便. 为每种货币分配一个序列号,一个序列号代表了一个图中间的NODE,而node之间的edge用汇率表示. 一开始用Dijkstra算法做,死活AC不了,网友给的理由是: 由于Dijkstra算法不能处理带有负权值的最短路,但此题中,两种货币之间…
题目链接:https://vjudge.net/problem/HDU-1317 题目描述: 题意:玩家起始有100个能量点,刚开始在起始房间中,每个房间外有一条单向的路径通往其他房间(一个房间可能通往多个房间),具体通往哪些房间可以查看房间门口的房间列表.每次玩家进入一个房间,他的能量值会更新成 当前自身能量值+房间能量值(重点是房间的能量值可能为负值).玩家想要终止游戏的话,要么是能够进入到终点房间,要么是因能量耗尽而累死.需要我们判断玩家能否进入到终点房间. Floyd算法(Floyd-W…
XYZZY Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 4154   Accepted: 1185 Description The prototypical computer adventure game, first designed by Will Crowther on the PDP-10 in the mid-1970s as an attempt at computer-refereed fantasy g…
当然,这篇文章是借鉴大佬的... 最短路算法大约来说就是有4种——Dijkstra,Floyd,Bellman_Ford,SPFA 接下来,就可以一一看一下... 1.Dijkstra(权值非负,适用于有向图及无向图,单源最短路) 1 Dijkstra's算法解决的是图中单个源点到其它顶点的最短路径.只能解决权值非负(看了代码就知道了)2 Dijkstral只能求出任意点到达源点的最短距离(不能求出任意两点之间的最短距离),同时适用于有向图和无向图,复杂度为O(n^2).3算法的过程: 1设置顶…
参考 有空再更新下用c++, 下面用的Java Dijkstra:适用于权值为非负的图的单源最短路径,用斐波那契堆的复杂度O(E+VlgV) BellmanFord:适用于权值有负值的图的单源最短路径,并且能够检测负圈,复杂度O(VE) SPFA:适用于权值有负值,且没有负圈的图的单源最短路径,论文中的复杂度O(kE),k为每个节点进入Queue的次数,且k一般<=2,但此处的复杂度证明是有问题的,其实SPFA的最坏情况应该是O(VE). Floyd:每对节点之间的最短路径. 先给出结论: (1…
http://poj.org/problem?id=1932 http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1935 题目大意: 看到XYZZY可不要以为是在玩扫雷哦. 给你一张图,初始你在房间1,初始生命值为100,进入每个房间会加上那个房间的生命(可能为负),要你进入房间n,问是否可能.(要求进入每个房间后生命值都大于0) 思路: 1.SPFA求最长路径,如果路径存在(即无环),那么肯定可以. 2.存在负环,不管她,…