POJ3259 Wormholes(虫洞)(SPFA解决)

POJ 3259-Wormholes WormholesTime Limit: 2000MS Memory Limit: 65536KTotal Submissions: 59753 Accepted: 22349题目链接:点击打开链接DescriptionWhile exploring his many farms, Farmer John has discovered a number of amazing wormholes. ... 阅读详情

题目大意&&思路:农夫玩穿越,找负环经典问题,

思路一:SPFA轻松撸过:原理:某一个节点入队n次的话则存在负环。(200ms)

思路二:Bellman-floyd 也OK:http://blog.youkuaiyun.com/kg_second/article/details/7888273   (其实在这道题思路二更快125ms,SPFA在数据大的时候才霸气尽出)

 

AC program:

#include<iostream>
#include<stdio.h> 
#include<string.h> 
#include<math.h>
#include<queue>  
#include<algorithm>
using namespace std;
#define inf 1000000000
#define maxn 10000
int visited[maxn],dis[maxn],st[maxn];
int ff[505]; 
int n,m,h;
int num;
int yes; 
struct node
{
  int x;
  int value;
  int next;
         
}e[maxn];
void init()
{
   int u,v,w; 
   memset(st,0,sizeof(st)); 
      memset(e,0,sizeof(e));   /// 
   int num=1;
   cin>>n>>m>>h; 
   for(int i=1;i<=m;i++)
   {
     cin>>u>>v>>w;
     e[num].x=v;
     e[num].value=w;
     e[num].next=st[u];
     st[u]=num;
     num++;
     e[num].x=u;
     e[num].value=w;
     e[num].next=st[v];
     st[v]=num;
     num++; 
           
   }
   for(int i=1;i<=h;i++)
   {
      cin>>u>>v>>w;
      e[num].x=v; 
      e[num].value=-w;           //negetive
      e[num].next=st[u];
      st[u]=num;
      num++; 
   }     
}
void init2()
{
  memset(ff,0,sizeof(ff));     //判断节点出队的次数的数组     
}
void spfa()
{
  for(int i=1;i<=n;i++)
    {
      visited[i]=0;
      dis[i]=inf;      
    }
   visited[1]=1;
   dis[1]=0;
   queue<int>que;
   que.push(1);
   ff[1]++;     //note 
   int tmp=st[1];
   int cur;
   int k=0;
   while(!que.empty())
   {
     cur=que.front();
     tmp=st[cur];
     que.pop();
     visited[cur]=0;
       while(tmp!=0)
       {
         if(dis[e[tmp].x]>dis[cur]+e[tmp].value)
         {
              dis[e[tmp].x]=dis[cur]+e[tmp].value;       ///
              if(visited[e[tmp].x]==0)      ///
                  {
                       que.push(e[tmp].x);  ///
                       ff[e[tmp].x]++;  //note2 
                       if(ff[e[tmp].x]>=n)
                          { yes=1; goto end; }
                       visited[e[tmp].x]=1;                        
                  } 
                   
         }
         tmp=e[tmp].next;           
       }                   
   } 
   end:
       if(yes==1)
           cout<<"YES"<<endl;
       else
           cout<<"NO"<<endl;     
} 
int main()
{
int test;
cin>>test; 
while(test--)
{
  init();
  init2();
  yes=0;      //判断变量 
  spfa(); 
                
} 
//system("pause"); 
return 0;} 


 

POJ 3259 Wormholes 【Floyd判断负环】 POJ 3259 Wormholes 【Floyd判断负环】 题目大意: FJ 有 N 块田野【编号 1…n】田野间有 M 条路【双向】 同时有 W 个虫洞,通过这个虫洞到达另一个田野,可以回到一段时间以前【单向】 问:FJ 是否能在田地中遇到以前的自己 具体思路: 双向路为正权,单向路为负权,判断图中是否存在负环,存在则可以遇到以前的自己,至于为什么上一篇博客有解释 可用spfa求解,但是spf... 阅读详情

相关推荐

【POJ/算法】 3259 Wormholes(Bellman-Ford算法, SPFA ,FLoyd算法)

Bellman-Ford算法 Bellman-Ford算法的优点是可以发现负圈,缺点是时间复杂度比Dijkstra算法高。而SPFA算法是使用队列优化的Bellman-Ford版本,其在时间复杂度和编程难度上都比其他算法有优势。 Bellman-Ford算法流程分为三个阶段: 第一步:数组Distant[i]记录从源点s到顶点i的路径长度,初始化数组Distant[n]为INF, Dis...

( :3 ) 655

Wormholes(虫洞 spfa判负环)

spfa判负环的实现

向上的咸鱼blueblue的博客 336

【ESP32】SPI SRAM memory test fail。External RAM failed memory test!

log日志报错如下:这两条报错信息表明外部 SPI SRAM(静态随机存取存储器)的内存测试失败。

weixin_56217406的博客 1024

1507:虫洞 Wormholes

【题目描述】 原题来自:USACO 2006 Dec. Gold,原文见 POJ 3259 John 在他的农场中闲逛时发现了许多虫洞。虫洞可以看作一条十分奇特的有向边,并可以使你返回到过去的一个时刻(相对你进入虫洞之前)。John 的每个农场有 M 条小路(无向边)连接着 N(从 1 到 N 标号)块地,并有 W 个虫洞。 现在 John 想借助这些虫洞来回到过去(在出发时刻之前回到出发点),请你告诉他能办到吗。 John 将向你提供 F 个农场的地图。没有小路会耗费你超过 104秒的时间,当然也没有虫洞

lyc_lb 908

4.图像sensor的特性和驱动解析

例子:sensor驱动自己提供操作曝光时间的函数和获取曝光时间的函数,然后将这个函数注册到ISP库和3A算法库,3A算法库根据外部光照强度计算出一个Sensor曝光时间的设置值,ISP库得到这个设置值,然后通过Sensor之前注册的回调函数,把这个值设置到Sensor的硬件寄存器中去,实现整个过程。是为 ISP 配置正确的输入时序。(1)修改驱动源码(sambashar\Hi3518E_SDK_V1.0.3.0\package\mpp\component\isp\sensor\ar0130)

weixin_53762042的博客 3566

CPU性能优化实战:寄存器重命名如何解决指令冲突(附3种实现方案对比)

本文深入解析了CPU性能优化中的关键技术——寄存器重命名,详细阐述了其如何通过物理寄存器堆(PRF)和重命名映射表(RAT)解决WAW、WAR、RAW等指令冲突,从而释放超标量处理器的并行潜力。文章重点对比了基于ROB、ARF扩展和统一PRF三种主流实现方案的设计权衡、电路代价与功耗影响,并探讨了现代处理器中并行重命名与状态恢复的实战机制。

weixin_29252171的博客 267

「3.3」虫洞 Wormholes

John 的每个农场有 M 条小路(无向边)连接着 N(从 1 到 N 标号)块地,并有 W 个虫洞。),请你告诉他能办到吗。接下来 W 行,每行三个数 S,E,T,表示在标号为 S 的地与标号为 E 的地中间有一条可以使 John 到达 T 秒前的虫洞。对于全部数据,1≤F≤5, 1≤N≤500, 1≤M≤2500, 1≤W≤200,1≤S,E≤N, ∣T∣≤10^4。接下来 M 行,每行三个数 S,E,T,表示在标号为 S 的地与标号为 E 的地中间有一条用时 T 秒的小路;「一本通3.3 练习2」

no_play_no_games的博客 988

时序基础模型Timer-S1:十亿参数如何革新时间序列预测

时间序列预测是数据分析与机器学习中的核心任务,旨在基于历史数据预测未来趋势。其原理在于捕捉数据中的趋势、周期性和季节性等时序依赖关系。这项技术的价值在于赋能业务决策,广泛应用于金融风控、能源管理、物联网监控和供应链优化等关键场景。传统方法依赖针对特定任务的专用模型,面临泛化能力弱和开发成本高的挑战。本文聚焦的时序基础模型,通过在海量跨领域数据上进行预训练,学习时序通用模式,并结合十亿级参数带来的强大容量,实现了性能的显著突破。这种范式转变,使得模型能够像“全科医生”一样,通过少量数据微调即可快速适应新任务,

weixin_29164843的博客 269

【POJ No. 3259】虫洞 Wormholes

【POJ No. 3259】虫洞 Wormholes

代码改变世界 655

手把手教你用Foobar2000播放DSD音频(含DOP设置与SPDIF输出教程)

本文详细指导如何在Foobar2000中播放DSD音频,重点解析了DOP协议的原理与设置方法。通过安装SACD插件、配置输出设备及启用DOP模式,实现DSD音频的原生比特流输出,并特别讲解了如何通过SPDIF接口传输DSD信号,帮助发烧友充分释放高清音频设备的潜力。

weixin_29290963的博客 1820

BIOS硬件监控实战:如何手动读取IT8738芯片的温度与风扇数据(附代码)

本文深入探讨了如何绕过操作系统和HWMonitor等监控软件,直接通过寄存器级操作读取IT8738超级I/O芯片的硬件监控数据。文章提供了从动态定位EC空间、构建底层读写函数到解码传感器寄存器映射的完整实战指南,并附有C语言代码示例,帮助开发者理解BIOS硬件监控的底层原理,适用于定制硬件开发与故障诊断。

weixin_29192211的博客 109

虫洞攻击

虫洞攻击 虫洞(Wormhole)攻击又可称为隧道攻击,它是利用两个相距很远的攻击节点间共谋建立一条高质量高带宽的私有隧道,攻击者在私有隧道一端上记录数据包或位信息,通过此私有隧道将窃取的信息传递到隧道的另一端。因为私有隧道的距离一般远大于单跳无线传输半径,所以通过私用通道传递的数据包比通过正常多跳路径传递的数据包早到达目标节点。由于该隧道的高效特点,周围节点都选择该私有隧道进行数据传递。如图 2-4 所示, A、G 是无线传感器网络中相隔很远的两个普通节点,彼此都不在对方的通信半径内,W1、W2 表示虫洞

Butterfly0011的博客 2665

【MTK平台】【wpa_supplicant】关于wpa_supplicant/p2p_supplicant.c文件的介绍

本文主要介绍external/wpa_supplicant_8/wpa_supplicant/p2p_supplicant.c 这个文件这个文件里面有个核心的方法就是。

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 724

POJ-3259 Wormholes 虫洞(SPFA、Floyd判断负权环)

这有一个虫洞,可以送你到POJ3259 请看题: Wormholes Time Limit:2000MS Memory Limit:65536K Total Submissions:73733 Accepted:27416 Description Whil...

From now on...的Blogs 662

北斗导航 | raPPPid软件功能模块详解

raPPPid(Rapid Precise Point Positioning with integer ambiguity resolution,快速精密单点定位与整周模糊度解算)是由维也纳工业大学(TU Wien)大地测量与地理信息系开发的MATLAB开源PPP软件包。它是VieVS(Vienna VLBI and Satellite Software,维也纳VLBI与卫星软件)的PPP模块,由Marcus Franz Glaner和Robert Weber主导开发。

尘世冰封的专栏 585

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

POJ 3259 Wormholes (最短路 SPFA 判断负环)

POJ 3259 Wormholes (最短路 SPFA 判断负环) 题意: N个农场旅行 有M个路径 和 W个虫洞。 有M行 普通路径 S ,E, T。表示从地点S(E)到地点E(S)的时间为T。接着有W行为虫洞。普通路径是双向的, 虫洞是单向,且为负值 思路:既有虫洞又有普通道路,把虫洞看成是一条负权路,问题就转化成 求一个图中是否存在负权回路 。 定义一个数组记录入队次数,每个元素 入队次数是否小于 N 。

jianjun的专栏 518

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

POJ3259 Wormholes(虫洞)(Bellman-floyd法解决)

题目大意:农夫FJ喜欢在自己的农场里面玩穿越,而虫洞-----就是就是一种是时间倒退的时光机(单向的)(A wormhole is very peculiar because it is a one-way path that delivers you to its destination at a time that is BEFORE you entered the wormhole!)  但

muxi@Achilles的专栏 2136

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

poj3259 Wormholes【Bellman-Ford或 SPFA判断是否有负环 】

题目链接:poj3259 Wormholes 题意:虫洞问题,有n个点,m条边为双向,还有w个虫洞(虫洞为单向,并且通过时间为倒流,即为负数),问你从任意某点走,能否穿越到之前。 贴个SPFA代码: 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 ...

dhe56357的博客 184

SPFA(判负环) - Wormholes - POJ 3259

SPFA判负环-Wormholes POJ - 3259 题目: While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to...

njuptACMcxk的博客 283

Wormholes POJ3259 (spfa)

题目:http://poj.org/problem?id=3259 题目大意:F组数据, 输入n, m, w,表示n块田地, m个田与田之间的关系,w个虫洞,从一块田到达另一块田需要花一定时间, 穿过虫洞时时间会倒流,问是否能够回到出发前的时间 解题思路:判断是否存在负环,若存在则一定能够回去。 #include<cstdio> #include<cstring> #inc...

Tw_light的博客 242

Wormholes(POJ 3259)

~题目链接~ http://poj.org/problem?id=3259 Sample Input 2 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 Sample Output NO YES 题目:输入农田个数,连通的路数,虫洞的个数。两农田之间连通是双向的,而虫洞是单向的。虫洞有这样的性质:...

ddn220120的博客 193

kuangbin专题四 F 题 负权回路(POJ 3259 Wormholes)

POJ 3259 Wormholes While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its...

aboc43983的博客 288

POJ 3259 Wormholes

题目链接&lt;http://poj.org/problem?id=3259&gt;题意:N块地由M条双向的路连接,走路需要花费正数的时间;又有W个虫洞,可以单向的穿越地点,并穿回过去的时间。问John能否从某一点开始回到过去的同一地点。注意:1、普通的路使双向边,虫洞是单向边,所以边需要开大点。          2、会有重边。          3、图是保证联通的。题解:因为图是保证联通的,所...

Eliot的博客 142

POJ-3259.Wormholes(SPFA算法)

3259.Wormholes Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its d...

紫藤&code的博客 270

[POJ3259](最短路spfa)Wormholes

POJ3259Wormholes While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that delivers you to its destination...

Z7784562的博客 249

POJ 3259 Wormholes(最短路径,求负环)

POJ 3259 Wormholes(最短路径,求负环) Description While exploring his many farms, Farmer John has discovered a number of amazing wormholes. A wormhole is very peculiar because it is a one-way path that de...

dipinzhu4111的博客 167
上一篇: HDU1599 find the mincost route
下一篇: POJ2240 Arbitrage
muximuxi525
博客等级 码龄15年 134粉丝 294原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值