Wormholes 虫洞 BZOJ 1715 spfa判断负环 原创 fish04 2022-05-27 20:30:58 博主文章分类:图论 ©著作权 文章标签 #include #define i++ 文章分类 后端开发 ©著作权归作者所有:来自51CTO博客作者fish04的原创作品,请联系作者获取转载授权,否则将追究法律责任 John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个农场有M条小路(无向边)连接着N (从1..N标号)块地,并有W个虫洞。其中1<=N<=500,1<=M<=2500,1<=W<=200。 现在John想借助这些虫洞来回到过去(出发时刻之前),请你告诉他能办到吗。 John将向你提供F(1<=F<=5)个农场的地图。没有小路会耗费你超过10000秒的时间,当然也没有虫洞回帮你回到超过10000秒以前。 NO YESSample OutputInput* Line 1: 一个整数 F, 表示农场个数。 * Line 1 of each farm: 三个整数 N, M, W。 * Lines 2..M+1 of each farm: 三个数(S, E, T)。表示在标号为S的地与标号为E的地中间有一条用时T秒的小路。 * Lines M+2..M+W+1 of each farm: 三个数(S, E, T)。表示在标号为S的地与标号为E的地中间有一条可以使John到达T秒前的虫洞。Output* Lines 1..F: 如果John能在这个农场实现他的目标,输出"YES",否则输出"NO"。 Sample Input2 3 3 1 1 2 2 1 3 4 2 3 1 3 1 3 3 2 1 1 2 3 2 3 4 3 1 8#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include//#include//#pragma GCC optimize(2)using namespace std;#define maxn 200005#define inf 0x7fffffff//#define INF 1e18#define rdint(x) scanf("%d",&x)#define rdllt(x) scanf("%lld",&x)#define rdult(x) scanf("%lu",&x)#define rdlf(x) scanf("%lf",&x)#define rdstr(x) scanf("%s",x)typedef long long ll;typedef unsigned long long ull;typedef unsigned int U;#define ms(x) memset((x),0,sizeof(x))const long long int mod = 1e9;#define Mod 1000000000#define sq(x) (x)*(x)#define eps 1e-5typedef pair pii;#define pi acos(-1.0)//const int N = 1005;#define REP(i,n) for(int i=0;i<(n);i++)typedef pair pii;inline int rd() { int x = 0; char c = getchar(); bool f = false; while (!isdigit(c)) { if (c == '-') f = true; c = getchar(); } while (isdigit(c)) { x = (x << 1) + (x << 3) + (c ^ 48); c = getchar(); } return f ? -x : x;}ll gcd(ll a, ll b) { return b == 0 ? a : gcd(b, a%b);}int sqr(int x) { return x * x; }/*ll ans;ll exgcd(ll a, ll b, ll &x, ll &y) { if (!b) { x = 1; y = 0; return a; } ans = exgcd(b, a%b, x, y); ll t = x; x = y; y = t - a / b * y; return ans;}*/int T;int n, m, W;struct node { int u, v, w, nxt;}e[maxn];int head[maxn], tot;int dis[maxn];void addedge(int u, int v, int w) { e[++tot].u = u; e[tot].v = v; e[tot].w = w; e[tot].nxt = head[u]; head[u] = tot;}int num[maxn];bool vis[maxn];bool spfa() { queueq; q.push(1); vis[1] = 1; dis[1] = 0; num[1] = 1; while (!q.empty()) { int u = q.front(); q.pop(); vis[u] = 0; for (int i = head[u]; i; i = e[i].nxt) { int v = e[i].v; int w = e[i].w; if (dis[v] > dis[u] + w) { dis[v] = dis[u] + w; if (!vis[v]) { q.push(v); vis[v] = 1; num[v]++; if (num[v] > n)return false; } } } } return true;}int main(){ //ios::sync_with_stdio(0); T = rd(); while (T--) { n = rd(); m = rd(); W = rd(); for (int i = 1; i <= n; i++)dis[i] = inf; ms(head); tot = 0; ms(vis); ms(e); ms(num); for (int i = 1; i <= m; i++) { int u, v, w; u = rd(); v = rd(); w = rd(); addedge(u, v, w); addedge(v, u, w); } for (int i = 1; i <= W; i++) { int u, v, t; u = rd(); v = rd(); t = rd(); addedge(u, v, -t); } if (spfa()) { cout << "NO" << endl; } else cout << "YES" << endl; } return 0;} EPFL - Fighting 赞 收藏 评论 分享 举报 上一篇:传球游戏 dp 下一篇:教主的花园 dp 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 【Phaser-ce游戏开发】动画效果-飞舞的荧火虫 【Phaser游戏开发】动画效果-飞舞的荧火虫,为天空加点亮光 Game Math html Phaser firefly 华为环网双机接入IPTV网络部署案例 环网双机接入IPTV网络部署案例组网图形图2 环网双机场景IPTV基本组网图方案简介配置注意事项组网需求数据规划配置思路操作步骤配置文件方案简介随着IPTV业务的迅速发展,IPTV平台承载的用户也越来越多,用户对IPTV直播业务的可靠性要求越来越高。IPTV作为视频类业务,最终用户对业务体验的连续性要求极高,需要保障日常维护中的用户业务体验连续,在重大事件保障、重大版本升级保障中保证业务 组播 服务器 组网 【Phaser游戏开发】动画效果-舞动的蝴蝶环 舞动的蝴蝶圆环,蝴蝶群飞舞 Game Phaser 舞动的蝴蝶圆环 蝴蝶群飞舞 bzoj 1715: [Usaco2006 Dec]Wormholes 虫洞 -- spfa判断负环 1715: [Usaco2006 Dec]Wormholes 虫洞 注意第一次加边是双向边第二次是单向边,并且每次询问前数组要清空 Description John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个 spfa sed #include i++ ios BZOJ 1715: [Usaco2006 Dec]Wormholes 虫洞 DFS版SPFA判负环 Description John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个农场有M条小路(无向边)连接着N (从1..N标号)块地,并有W个虫洞。其中1<=N<=500,1<=M<=2500,1<=W<=2 树 BZOJ 1715 [Usaco2006 Dec]Wormholes 虫洞 SPFA DescriptionJohn在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时 i++ #include c++ F - Wormholes spfa判断负环 传送门题意:艾高比较差QAQ。意思是农夫发现了虫洞,他发现从一个点到另一个点会花费一些时间,存在一些点到点可以到退时 #include ios #define bzoj1715 [Usaco2006 Dec]Wormholes 虫洞 1715: [Usaco2006 Dec]Wormholes 虫洞 Description John在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John的每个农场有M条小路(无向边)连接着N (从1..N标号)块地,并有W #include i++ ios 其他 洛谷 P2850 [USACO06DEC]虫洞Wormholes spfa 负环 题目链接:https://www.luogu.org/problemnew/sho 洛谷 spfa 负环 ci POJ 3260 Wormholes SPFA判断负边环 WormholesTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 61855 Accepted: 23054DescriptionWhile exploring his many farms, Farmer John has discovered a number of #include i++ 最短路 POJ - Wormholes(Spfa判负环) 题目链接:http://poj.org/problem?id=3259Time Limit:2000MSMemory Limit:65536KDescriptionWhile exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very pe... # 数据结构 # 最短路 ACM题解 Spfa 判负环 Wormholes POJ - 3259(SPFA判负环模板) 题意:虫洞是很奇特的,因为它是一个**单向 #include ci i++ bzoj 1715: [Usaco2006 Dec]Wormholes 虫洞【spfa判负环】 tag是假的,用了及其诡异的方法判负环 正权无向边和负权有向边的图 cpp include include include using namespace std; const int N=505,inf=210000000; int n,m,w,h[N],cnt,d[N]; struct qwe i++ #include ios 编程 POJ 3259 Wormholes 虫洞(负权最短路,负环) 题意: 给一个混合图,求判断是否有负环的存在,若有,输出YES,否则N 最短路 #include i++ 穷举 #define poj 3259 Wormholes【spfa判断负环】 WormholesTime Limit:2000MSMemory Limit:65536KTotal Submissions:36729Accepted:13444DescriptionWhile exploring his many farms, Farmer John has discovere... sed #include #define i++ 分享 AcWing904 虫洞(spfa判负环) 技巧,将所有点距离置为0,并加入队列。 当某个最短路大于等于n,根据容斥原理得负环 #include<bits/stdc++.h> using namespace std; const int N=510,M=52100; int h[M],ne[M],e[M],w[M],idx; int n,m1 图论 i++ #include c++ 容斥原理 POJ 3259 Wormholes SPFA判负环 思路:SPFA判负环 数组不要开太小……(后面附一组测试数组)// by SiriusRen#include #include #include using namespace std;#define N 13555int n,cases,m,W,xx,yy,zz,tot,firs... #include 数组 i++ #define 编程题目 UVA 558 Wormholes 【SPFA 判负环】 题目链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=499 题意:就是推断图中有无负环 SPFA,某个节点入队次数大于n就是有负环。 代码: #in #include i++ ios php java Wormholes POJ 3259(SPFA判负环) Description While exploring his many farms, Farmer John h #include i++ #define 最短路 权值 POJ 3259 Wormholes【最短路/SPFA判断负环模板】 农夫约翰在探索他的许多农场,发现了一些惊人的虫洞。虫洞是很奇特的,因为它是一个单向通道,可让你进入虫洞的前达到目的地!他的N(1≤N≤500)个农场被编号为1..N,之间有M(1≤M≤2500)条路径,W(1≤W≤200)个虫洞。FJ作为一个狂热的时间旅行的爱好者,他要做到以下几点:开始在一个区域, #define #include i++ 最短路 结点 python selenium执行完了自动关闭浏览器如何不关闭 selenium基本用法运行环境:from selenium.webdriver import Chrome1. 创建浏览器对象b = Chrome('files/chromedriver')2. 打开页面b.get('https://www.qidian.com/rank/yuepiao/month10/')3.获取网页数据print(b.page_source)4.关闭网页b.close()s selenium chrome python Chrome html 系统重启GPU怎么解决 一、安装显卡驱动第一步:先禁用官方开源的显卡驱动nouveau先运行下列命令,如果有输出则代表nouveau正在加载 $ lsmod | grep nouveau 新建文件或打开文件$ gedit /etc/modprobe.d/blacklist-nouveau.conf 2. 在这个文件里面添加这两行,保存退出 modeset 3. 输入以下命令,并重启 $ sudo update 系统重启GPU怎么解决 cudnn下载 重启 显卡驱动 图形化界面 python 矩阵旋转 代码 本文实例讲述了Python实现的矩阵转置与矩阵相乘运算。分享给大家供大家参考,具体如下:矩阵转置方法一 :使用常规的思路 def transpose(M):# 初始化转置后的矩阵 result = [] # 获取转置前的行和列 row, col = shape(M) # 先对列进行循环 for i in range(col): # 外层循环的容器 item = [] # 在列循环的内部进行行的循环 python 矩阵旋转 代码 Python 转置 数组 MTK android平台 schedutil MTK 使 用了 nucleus 实 时操作系统,在其上做了个内核抽象层的封装,以适应多种实时操作系统,如 oscar 、 ThreadX 、 nucleus 。整个软件系统包括 nucleus 操作系统、平台设备驱动、协议栈、文件系统、 WGUI 、 MMI 、 J2ME 等。在这里 MMI 部分几乎包括了操作系统内核、协议栈、文件系统之上的所 有部分,其中 WGUI&nbs mtk 手机 makefile j2me 编译器 android graphics 内存占用多 OpenGL ES(OpenGL for Embedded Systems)是以手持和嵌入式为目标的高级3D图形API。支持跨平台 iOS 安卓 BlackBerry(黑莓手机是指由加拿大Research In Motion Ltd公司推出的一种无线手持邮件解决终端设备)、bada(韩国三星电子自行开发的智能手机平台,底层为Linux核心)、Linux、Windows。开放式图形库用于可视化的二维 游戏开发 数据 着色器 缓存