
【ybt高效进阶3-3-2】判断负环
发布日期:2021-05-07 07:00:01
浏览次数:21
分类:精选文章
本文共 1466 字,大约阅读时间需要 4 分钟。
判断负环
题目链接:
题目大意
就是求一个图中有没有负环。
思路
这题好奇怪啊。
先不说代码部分,就输出的内容。
你好好输出个 YES 不行要把 S 改成 5,好好输出个 NO 不行把 O 改成 0。 亲,这里建议你搞几个俄文上去。这个就算了,判断负环我们用 SPFA 来判,我用的是看入队次数。那任意一个点入队次数大于等于 n n n 的时候就有负环吧。
好,我这样打,结果 55 55 55 分。好,那我们看正确代码。luogu 上也有这道题,但是 YES 和 NO 是正常输出,好我们对了标发现每区别,结果把标丢上去也是 55 55 55 分?!
然后把自己的代码放到 luogu 上,还过了就离谱。后来玄学一顿乱改,结果 A 了。
(我好像把入队次数的 n n n 改成了 n − 1 n-1 n−1,还没有清空队列)代码
#include#include #include using namespace std;struct node { int x, to, nxt;}e[6001];int T, x, y, z, KK;int n, m, le[2001];int num[2001], dis[2001];bool in[2001];queue q;void add(int x, int y, int z) { e[++KK] = (node){ z, y, le[x]}; le[x] = KK;}bool work() { dis[1] = 0; in[1] = 1; num[1] = 1; q.push(1); while (!q.empty()) { int now = q.front(); q.pop(); for (int i = le[now]; i; i = e[i].nxt) if (dis[now] + e[i].x < dis[e[i].to]) { dis[e[i].to] = dis[now] + e[i].x; if (!in[e[i].to]) { in[e[i].to] = 1; q.push(e[i].to); num[e[i].to]++; if (num[e[i].to] >= n - 1) return 1; } } in[now] = 0; } return 0;}int main() { scanf("%d", &T); for (int times = 1; times <= T; times++) { memset(le, 0, sizeof(le)); memset(num, 0, sizeof(num)); memset(dis, 0x7f, sizeof(dis)); KK = 0; scanf("%d %d", &n, &m); for (int i = 1; i <= m; i++) { scanf("%d %d %d", &x, &y, &z); add(x, y, z); if (z >= 0) add(y, x, z); } if (work()) printf("YE5\n"); else printf("N0\n"); } return 0;}
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2025年03月30日 06时07分03秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MySQL数据库与python交互
2021-05-09
python如何对字符串进行html转义与反转义?
2021-05-09
开发小白也毫无压力的hexo静态博客建站全攻略 - 躺坑后亲诉心路历程
2021-05-09
java例题_24 逆向输入数字
2021-05-09
不管人生怎么走,都需要实时回头看看
2021-05-09
golang基础--类型与变量
2021-05-09
Bitcoin区块链攻击方式
2021-05-09
.NetCore外国一些高质量博客分享
2021-05-09
Mysql的基本操作(一)增、删、改
2021-05-09
解决WebRTC中不同的浏览器之间适配的问题
2021-05-09
python中while循环和for循环的定义和详细的使用方法
2021-05-09
HTML5 之拖放(drag与drop)
2021-05-09
软件项目技术点(2)——Canvas之坐标系转换
2021-05-09
深入理解JavaScript函数
2021-05-09
!function(){}()
2021-05-09
【spring源码系列】之【xml解析】
2021-05-09
用了这个jupyter插件,我已经半个月没打开过excel了
2021-05-09
(在模仿中精进数据可视化07)星球研究所大坝分布可视化
2021-05-09