POJ--3259 Wormholes (SPFA判负环)
题目电波 3259 Wormholes
#include<iostream>
#include<cstring>
#include<algorithm>
#include<queue>
#include<stdio.h>
using namespace std;
#define maxn 100010
#define inf 0x3f3f3f3f
struct ac{
int to,va;
ac(){}
ac(int a,int b){
to=a,va=b;
}
};
vector<ac>q[maxn];
int dis[maxn],vis[maxn];
bool fa[maxn];
int n,m,s;
void init(){
;j<=maxn;j++) q[j].clear();
}
bool spfa(){
memset(vis,,sizeof(vis));
memset(fa,,sizeof(fa));
memset(dis,inf,sizeof(dis));
dis[]=;
queue<int>pq;
pq.push();
while(!pq.empty()){
int u=pq.front();
pq.pop();
fa[u]=;
;j<q[u].size();j++){
int v=q[u][j].to;
int va=q[u][j].va;
if(dis[v]>dis[u]+va){
dis[v]=dis[u]+va;
if(!fa[v]){
fa[v]=;
vis[v]++;
pq.push(v);
if(vis[v]>=n){
;
}
}
}
}
}
;
}
int main(){
int t;
cin>>t;
while(t--){
init();
cin>>n>>m>>s;
;j<m;j++){
int u,v,va;
scanf("%d%d%d",&u,&v,&va);
q[u].push_back(ac(v,va));
q[v].push_back(ac(u,va));
}
;j<s;j++){
int u,v,va;
scanf("%d%d%d",&u,&v,&va);
q[u].push_back(ac(v,-va));
}
if(spfa()){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
}
POJ--3259 Wormholes (SPFA判负环)的更多相关文章
- POJ 3259 Wormholes(SPFA判负环)
题目链接:http://poj.org/problem?id=3259 题目大意是给你n个点,m条双向边,w条负权单向边.问你是否有负环(虫洞). 这个就是spfa判负环的模版题,中间的cnt数组就是 ...
- Wormholes POJ 3259(SPFA判负环)
Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes ...
- POJ 3259 Wormholes (判负环)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 46123 Accepted: 17033 Descripti ...
- POJ 3259 Wormholes ( SPFA判断负环 && 思维 )
题意 : 给出 N 个点,以及 M 条双向路,每一条路的权值代表你在这条路上到达终点需要那么时间,接下来给出 W 个虫洞,虫洞给出的形式为 A B C 代表能将你从 A 送到 B 点,并且回到 C 个 ...
- POJ 3259 Wormholes( bellmanFord判负环)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 36425 Accepted: 13320 Descr ...
- poj 3621 二分+spfa判负环
http://poj.org/problem?id=3621 求一个环的{点权和}除以{边权和},使得那个环在所有环中{点权和}除以{边权和}最大. 0/1整数划分问题 令在一个环里,点权为v[i], ...
- [poj3259]Wormholes(spfa判负环)
题意:有向图判负环. 解题关键:spfa算法+hash判负圈. spfa判断负环:若一个点入队次数大于节点数,则存在负环. 两点间如果有最短路,那么每个结点最多经过一次,这条路不超过$n-1$条边. ...
- POJ 3259 Wormholes 最短路+负环
原题链接:http://poj.org/problem?id=3259 题意 有个很厉害的农民,它可以穿越虫洞去他的农场,当然他也可以通过道路,虫洞都是单向的,道路都是双向的,道路会花时间,虫洞会倒退 ...
- POJ3259 :Wormholes(SPFA判负环)
POJ3259 :Wormholes 时间限制:2000MS 内存限制:65536KByte 64位IO格式:%I64d & %I64u 描述 While exploring his many ...
- Poj 3259 Wormholes(spfa判负环)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 42366 Accepted: 15560 传送门 Descr ...
随机推荐
- [转帖]国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测
国产闪存颗粒终于熬出头 紫光存储S100固态硬盘评测 https://www.cnbeta.com/articles/tech/830875.htm 全国产的 SSD 群联貌似是对岸的 不过不管怎么说 ...
- golang操作mysql使用总结
前言 Golang 提供了database/sql包用于对SQL数据库的访问, 作为操作数据库的入口对象sql.DB, 主要为我们提供了两个重要的功能: sql.DB 通过数据库驱动为我们提供管理底层 ...
- CLOUD流程设置
流程-反写规则 允许超额
- dentry path_lookat dput
https://www.ibm.com/developerworks/cn/linux/l-cn-usagecounter/index.html https://blog.csdn.net/young ...
- JQ判断在不同分辨率电脑下使用不同的banner尺寸
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js外部调用layui.use中的函数的写法
layui模块化的写法固然不错,但也有让人不适应的一些地方 外部调用函数的写法就让人不太舒服 需要在函数名前面加上window这个前缀,就不太舒服 补充:window前缀,是全局变量的声明方式 如下: ...
- E: Unable to correct problems, you have held broken packages
问题: apt install libmysqlclient-dev Reading package lists... DoneBuilding dependency tree Readi ...
- Delphi 工具条按钮上的下拉菜单
制作步骤: 1.添加一个 TImageList: ImageList1, 然后载入些图标; 2.添加两个 TPopupMenu: PopupMenu1.PopupMenu2, 并分别添加些菜单项; 3 ...
- 使用proxychains 代理终端
最近在国外的vps上搭建了一个ss服务器,在浏览器里面设置socks5代理上网很方便, 但是终端里面却只支持http方式的代理配置,网上有socks转http代理的方式,但是最近发现一个更为简单的方式 ...
- Spring Boot 构建电商基础秒杀项目 (二) 使用 Spring MVC 方式获取用户信息
SpringBoot构建电商基础秒杀项目 学习笔记 修改 DOMapper 在 UserPasswordDOMapper.xml 添加: <select id="selectByUse ...