O - Navigation System CodeForces - 1321D
题目大意:有一个导航系统,会根据你当前的位置,规划到目的地的最短路线,给你一个有向图,和一条行驶路径,问你导航重新规划路径的最大次数和最小次数。
读题的时候题意特别不理解,何为最大次数,何为最小次数?
1 比如说当在一个点时,到终点的最短路线就那一个,也就说我只能走这一条,不用重新规划。
2 在一个点到终点的最短路径有多个,并且你下次要走的正好的其中的一个,这个时候,可以重新规划,也可以不重新规划。
3 在一个点到终点最短的路径中,你下次要走的点不是其中的一个,这个时候必须重新规划。
(有点绕,但是,,他就这么个意思)
思路:首先我们应该知道每个点到终点的最短距离,所以---反向图跑最短路
然后当在正向图中:
对路径中的某个点x,如果下次要走的点是与x相邻的点中最短的,并且唯一,那么不用重新规划。
如果不唯一:可以重新规划,也可以不重新规划,所以maxx++.
如果下次要走的点不是与x相邻的点中最短的 ,必须重新规划。maxx++,minn++;
#include<bits/stdc++.h>
using namespace std;
const int N=2E5+;
const int INF=1e9+;
int p[N];
int dis[N];
bool mark[N];
struct node{
int x,y;
bool friend operator<(const node x1,const node y1){
return x1.y>y1.y;
}
};
vector<node>mp1[N],mp2[N];
void djstrea(int s){
memset(mark,,sizeof(mark));
memset(dis,INF,sizeof(dis));
priority_queue<node>que;
dis[s]=;
que.push({s,});
while(que.size()){
node xx=que.top();
que.pop();
if(mark[xx.x]==) continue ;
mark[xx.x]=;
for(int i=;i<mp1[xx.x].size();i++){
int dx=mp1[xx.x][i].x;
int dy=mp1[xx.x][i].y;
if(mark[dx]==&&dis[dx]>dis[xx.x]+dy){
dis[dx]=dis[xx.x]+dy;
que.push({dx,dis[dx]});
}
}
}
}
int main(){
int n,m;
cin>>n>>m;
for(int i=;i<=m;i++){
int x,y;
cin>>x>>y;
mp1[y].push_back({x,});
mp2[x].push_back({y,});
}
int k;
cin>>k;
for(int i=;i<=k;i++) cin>>p[i];
for(int i=;i<=n;i++) dis[i]=INF;
djstrea(p[k]);
int minn=,maxx=;
for(int i=;i<k;i++){
int c=dis[p[i+]];
int cnt1=,cnt2=;
int x1=p[i];
for(int j=;j<mp2[x1].size();j++){
if(dis[mp2[x1][j].x]==c) cnt1++;
if(dis[mp2[x1][j].x]<c) cnt2++;
}
if(cnt2!=){
minn++;
maxx++;
}
else if (cnt1>) maxx++;
}
cout<<minn<<" "<<maxx<<endl;
return ;
}
O - Navigation System CodeForces - 1321D的更多相关文章
- Codeforces 1321D Navigation System
题意 有个人要从\(s\)走到\(t\),经过的路径给定.导航系统每次会显示当前节点到\(t\)的最短路,有多条就显示其中之一.这个人如果按照导航走,那么啥都没变.如果没有按导航走导航就会重新导航.问 ...
- Codeforces Round #625 (Div. 2, based on Technocup 2020 Final Round) D. Navigation System(有向图,BFS,最短路)
题意: n 点 m 边有向图,给出行走路径,求行走途中到路径终点最短路变化次数的最小值和最大值 . 思路 : 逆向广搜,正向模拟. #include <bits/stdc++.h> usi ...
- Sherpa | Complete Navigation System 介绍与教材
这里的夏尔巴人在iPad上使用的一种新的视频. 正如其名称所暗示的,夏尔巴人是所有您的导航需求的整体解决方案. 夏尔巴人带来了每个接口的三个主要的导航元素结合在一起 - 导航栏,侧边栏和页脚粘. 每一 ...
- Bus Video System CodeForces - 978E (思维)
The busses in Berland are equipped with a video surveillance system. The system records information ...
- Error Correct System CodeForces - 527B
Ford Prefect got a job as a web developer for a small company that makes towels. His current work ta ...
- B. Navigation System【CF 1320】
传送门 题目:简单理解就是,我们需要开车从s点到t点.车上有一个导航,如果当前点为x,则导航会自动为你提供一条从x到t的最短的路线(如果有多条,则随机选一条),每走到下一个点则会实时更新最短路线,当然 ...
- Codeforces Round #625 (Div. 2)
Contest Info Practice Link Solved A B C D E F 4/6 O O Ø Ø O 在比赛中通过 Ø 赛后通过 ! 尝试了但是失败了 - 没有尝试 Sol ...
- 1034 - Navigation
Global Positioning System (GPS) is a navigation system based on a set of satellites orbiting approxi ...
- Roomblock: a Platform for Learning ROS Navigation With Roomba, Raspberry Pi and RPLIDAR(转)
What is this? "Roomblock" is a robot platform consists of a Roomba, a Raspberry Pi 2, a ...
随机推荐
- 毕业设计——基于ZigBee的智能窗户控制系统的设计与实现
题目:基于物联网的智能窗户控制系统的设计与实现 应用场景:突降大雨,家里没有关窗而进水:家中燃气泄漏,不能及时通风,威胁人身安全,存在火灾的隐患:家中窗户没关,让坏人有机可乘.长时间呆在人多.封闭的空 ...
- windows10 64位 安装mysql服务端 并使用navicat客户端链接 掉的一堆坑
1.目的 安装mysql服务端 并使用navicat客户端链接 2.过程 1)下载mysql服务端 下载过程(参考https://blog.csdn.net/youxianzide/article/d ...
- nginx openssl升级支持http2
阿里云openssl升级,实现nginx主动推送 nginx主动推送能够有效减少不必要的报文传输,减少用户请求次数,以达到更快访问速度 现有版本检查 [root@node3 ~]# openssl v ...
- upload-labs通关集
upload-labs通关集 环境 第一题 前端js检查 第二题 content-type类型绕过 第三题 黑名单绕过 第四题 .htaccess绕过 第五题 大小写绕过 第六题 空格绕过 第七题 点 ...
- MP3音频文件的剪切合并方法
package com.bytx.ai.service.base.controller.util; import it.sauronsoftware.jave.Encoder;import it.sa ...
- k8s可视化工具kubernetes-dashboard部署——小白教程
参考资料: kubernetes官方文档 官方GitHub 创建访问用户 解决chrome无法访问dashboard 官方部署方法如下: kubectl apply -f https://raw.gi ...
- SuperMap许可常见问题及解决办法
一.试用许可申请可以直接在北京超图软件股份有限公司官网的“SuperMap 技术资源中心”申请试用许可,申请后您将获得:1.如果申请的是 SuperMap GIS 7C 系列产品的许可,您将获得 一个 ...
- python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度
一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...
- 白嫖Office365
写作不易,资瓷一下呗!个人博客:https://raycoder.me 最近系统升级到1909, 送了我一套Office365. 我也很无奈啊, 送了让我激活也是够了... 用了各种激活软件都无效,比 ...
- 常见SQL语句和SQL基础知识
引自:http://blog.csdn.net/u012467492/article/details/46790205 SQL语句考察(一) 1.查询出每门课都大于80 分的学生姓名 name k ...