nssl1218-TRAVEL【SPFA】

正题


题目大意

n个图,有m条双向道路,每条道路有一个l和r。
求一条路径,使得路上最小的r和路上最大的l的差最大。


解题思路

我们考虑枚举l,然后用SPFA计算最大的r。然后这样会超时。

之后我们发现其实答案的l一定是某一条边的l,所以我们可以直接枚举边的l。


code

#include<cstdio>
#include<queue>
#include<cstring>
#include<algorithm>
#define N 1010
using namespace std;
struct node{int to,l,r,next;
}a[N*10];
int n,m,L,R,f[N],ls[N],tot,cnt,lh[N*10];
bool v[N];
queue<int> q; 
int read(){int x=0,flag=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')flag=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*flag;
}
void write(int x)
{if(x>9) write(x/10);putchar(x%10+48);return;
}
void addl()
{int x,y,l,r;x=read();y=read();l=read();r=read();a[++tot]=(node){y,l,r,ls[x]};ls[x]=tot;a[++tot]=(node){x,l,r,ls[y]};ls[y]=tot;
}
int spfa(int L)
{memset(f,0,sizeof(f));q.push(1);f[1]=2147483647/3;v[1]=true;while(!q.empty()){int x=q.front();q.pop();v[x]=false;for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(a[i].l<=L&&a[i].r>=L&&min(a[i].r,f[x])>f[y]){f[y]=min(a[i].r,f[x]);if(!v[y]){v[y]=true;q.push(y);}}}}return f[n];
}
int main()
{scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){addl();lh[++cnt]=a[tot].l;}sort(lh+1,lh+1+m);cnt=unique(lh+1,lh+1+m)-lh-1;for(int k=1;k<=cnt;k++){int i=lh[k];int r=spfa(i);if(r-i+1>R-L+1){L=i;R=r;}}write(R-L+1);putchar('\n');if(R-L+1)for(int i=L;i<=R;i++)write(i),putchar(' ');
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323330.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gRPC官方快速上手学习笔记(c#版)

上手前准备工作 支持操作系统&#xff1a;windows、OS X、Linux。实例采用.net、.net core sdk。 The .NET Core SDK command line tools. The .NET framework 4.5 (for OS X and Linux, the open source .NET Framework implementation, “Mono”, at version 4, is suitable…

JS中的加号+运算符详解

转载自 JS中的加号运算符详解 加号运算符 在 JavaScript 中&#xff0c;加法的规则其实很简单&#xff0c;只有两种情况: 把数字和数字相加把字符串和字符串相加 所有其他类型的值都会被自动转换成这两种类型的值。 为了能够弄明白这种隐式转换是如何进行的&#xff0c;我们…

ajax做聊天交互

本想学了几天ajax就可以弄一个类似于qq的网页聊天界面&#xff0c;发现自己想的还是太简单了。 有两个问题无法解决&#xff1a; 1、即使用ajax还是无法保证数据的及时交互&#xff0c;没有办法无时无刻刷新页面。现学的ajax还是依赖于点击事件&#xff0c;才能请求后台数据。 …

ssl提高组周三备考赛【2018.10.24】

前言 快乐题警告&#xff01; 成绩 RankRankRankPersonPersonPersonScoreScoreScoreAAABBBCCC1112017myself2017myself2017myself2102102101001001001001001001010102222017zyc2017zyc2017zyc1581581581001001001818184040403332017xxy2017xxy2017xxy157157157100100100272727…

spring cloud+dotnet core搭建微服务架构:Api网关(三)

前言 国庆假期&#xff0c;一直没有时间更新。 根据群里面的同学的提问&#xff0c;强烈推荐大家先熟悉下spring cloud。文章下面有纯洁大神的spring cloud系列。 上一章最后说了&#xff0c;因为服务是不对外暴露的&#xff0c;所以在外网要访问服务必须通过API网关来完成&…

java实现人脸识别源码【含测试效果图】——前期准备工作及访问提示

注意&#xff1a; 看完之后如有不懂&#xff0c;请看&#xff1a;关于人脸和指纹识别共同交流方案&#xff0c;也可以关注微信公众号&#xff1a;雄雄的小课堂&#xff0c;回复&#xff1a;人脸识别群获取群号&#xff0c;群内有直接可以运行的源码可供下载&#xff0c;人脸识…

JS原型链与instanceof底层原理

转载自 JS原型链与instanceof底层原理 一、问题&#xff1a; instanceof 可以判断一个引用是否属于某构造函数&#xff1b; 另外&#xff0c;还可以在继承关系中用来判断一个实例是否属于它的父类型。 老师说&#xff1a;instanceof的判断逻辑是&#xff1a; 从当前引用的…

P2522-[HAOI2011]Problem b【莫比乌斯反演】

正题 题目大意 求∑iab∑jcd(gcd(i,j)k)\sum_{ia}^b\sum_{jc}^d(gcd(i,j)k)ia∑b​jc∑d​(gcd(i,j)k) 解题思路 定义 f(i)∑i1n∑j1m(gcd(i,j)i)f(i)\sum_{i1}^n\sum_{j1}^m(gcd(i,j)i)f(i)i1∑n​j1∑m​(gcd(i,j)i) 然后计算f利用容斥计算答案 之后我们考虑如何计算 F(i)…

正则之注册登录

不久前写了个登录注册的网站&#xff0c;因为未对其做出限制&#xff0c;所以&#xff0c;随便你输入什么都可以注册成功&#xff0c;遂想怎么通过js规定注册的账号 我的要求是&#xff1a; 一&#xff1a;输入框不能为空&#xff0c;不能太长也不能太短 二&#xff1a; 1、注…

猿创征文|从酒店前台收银到软件研发教学主管到技术经理之路~

大家好&#xff0c;我是雄雄。 内容先知&#x1f449;前言☝酒店收银&#x1f928;项目组长&#x1f91c;OA管理系统&#x1f91c;酒店管理系统&#x1f468;‍&#x1f3eb;软件研发讲师&#x1f4cc;学术主管&#x1f468;‍&#x1f4bb;技术经理&#x1f449;项目情况&…

微服务~分布式事务里的最终一致性

本地事务ACID大家应该都知道了&#xff0c;统一提交&#xff0c;失败回滚&#xff0c;严格保证了同一事务内数据的一致性&#xff01;而分布式事务不能实现这种ACID&#xff0c;它只能实现CAP原则里的某两个&#xff0c;CAP也是分布式事务的一个广泛被应用的原型&#xff0c;CA…

USACO2.4の其中3道水题【模拟,图论】

T1:P1518-两只塔姆沃斯牛 The Tamworth Two 题目大意 两个东西&#xff0c;按照一个方向前进&#xff0c;他们撞到墙壁会顺时针90&#xff0c;求他们多久后相遇。 解题思路 暴力模拟 code // luogu-judger-enable-o2 #include<cstdio> #include<iostream> using…

JavaFX仿windows文件管理器目录树

一、windows文件管理器目录树 二、代码 /** To change this license header, choose License Headers in Project Properties.* To change this template file, choose Tools | Templates* and open the template in the editor.*/ package cn.util;import imagemanagesystem.…

用正则判断字符串是否为中文的方法

检测是否为中文 var reg /^([\u4E00-\u9FA5])*$/; if (!reg.test(name)) 好看字体 <!DOCTYPE html><html><head><meta charset"UTF-8"><title></title></head><body><h1 class"vintage1">美丽的…

开源纯C#工控网关+组态软件(三)加入一个新驱动:西门子S7

一、 引子 首先感谢博客园&#xff1a;第一篇文章、第一个开源项目&#xff0c;算是旗开得胜。可以看到&#xff0c;项目大部分流量来自于博客园&#xff0c;码农乐园&#xff0c;名不虚传^^。 园友给了我很多支持&#xff0c;并提出了很好的改进意见。现加入屏幕分辨率自适应…

有没有完全自助的国产化数据库技术?

大家好&#xff0c;我是雄雄。 SPL资料 SPL官网SPL下载SPL源代码 前段时间世界部分地区不断的起冲突&#xff0c;Oracle宣布“暂停在俄罗斯的所有业务”&#xff0c;相信大家的心情绝不是隔岸观火&#xff0c;而是细思恐极。 数据库号称IT领域三大核心之一&#xff08;其他两…

我为啥不看好ServiceMesh

转载自 我为啥不看好ServiceMesh 前言 今年&#xff0c;ServiceMesh(服务网格)概念在社区里头非常火&#xff0c;有人提出2018年是ServiceMesh年&#xff0c;还有人提出ServiceMesh是下一代的微服务架构基础。作为架构师&#xff0c;如果你现在还不了解ServiceMesh的话&…

USACO2.4のP1519-穿越栅栏(Overfencing)【bfs】

正题 题目大意 一个迷宫&#xff0c;有许多出口&#xff0c;求一个点到最近的出口最远。 解题思路 直接bfs暴力搜索&#xff0c;然后保存上次的答案 code // luogu-judger-enable-o2 #include<cstdio> #include<queue> #include<cstring> #define N 210 u…

人生路漫漫,还得多输出

今天看了下别人的博客&#xff0c;感觉有点受打击&#xff0c;自己写博客花的时间还是太少&#xff0c;感觉到现在还是没有写博客的习惯。回头想想&#xff0c;其实要写的东西挺多的&#xff0c;就是不愿意写&#xff0c;莫名其妙的觉得很简单&#xff0c;写出来肯定很水&#…

ASP.NET Core 2.0 支付宝当面付之扫码支付

前言 自从微软更换了CEO以后&#xff0c;微软的战略方向有了相当大的变化&#xff0c;不再是那么封闭&#xff0c;开源了许多东西&#xff0c;拥抱开源社区&#xff0c;.NET实现跨平台&#xff0c;收购xamarin并免费提供给开发者等等。我本人是很喜欢.net的&#xff0c;并希望.…