【题目描述】
某山区有高高低低的 n 个山峰,根据海拔高度的不同,这些山峰由低到高进行了 1 到 n 编号。有 m 条只能单向通行的羊肠小道连接这些山峰。现在,这里要举行一场跳伞登山赛,选手们伞降到某山峰后,再通过山间小道向属于自己的最高峰进军。
小明也参加了这次比赛,你能否告诉他,从任意一座山峰出发所能到达的最高峰编号是多少?
【输入数据】
输入共 m+1 行。
第 1 行为 2 个整数 n、m,用一个空格隔开,表示山峰总数和道路总数。
接下来 m 行,每行 2 个整数,用一个空格隔开,表示一条道路的起点和终点山峰编号。
【输出数据】
输出共 1 行,n 个整数,用一个空格隔开,表示每座山峰所能到达的最高峰的编号。
【样例输入】
4 3
1 2
2 4
4 3
【样例输出】
4 4 3 4
【数据范围】
60%的数据满足:1≤m,n≤10^3;
100%的数据满足:1≤m,n≤10^5。
【解题思路】
按照输入的数据反向建图,从最大往回走,给连通的每一个点作标志。
原理就是从大到小走,第一个走到的绝对是最优解,省去了大量的时间。
【参考程序】

#include<iostream>
#include<cstdio>
#include<vector>
using namespace std;
vector<int> edge[100005];
bool visit[100005];
int f[100005],n,m,s,e;
void dfs(int val,int sta)
{visit[sta]=true;for (int i=0;i<edge[sta].size();i++)if (!visit[edge[sta][i]]){f[edge[sta][i]]=val;//做标记dfs(val,edge[sta][i]);//继续走}
}
int main()
{//freopen("race.in","r",stdin);//freopen("race.out","w",stdout);scanf("%d%d",&n,&m);for (int i=1;i<=m;i++){scanf("%d%d",&s,&e);edge[e].push_back(s);}for (int i=1;i<=n;i++)f[i]=i;for (int i=n;i>=1;i--){if (visit[i]) continue;dfs(f[i],i);}for (int i=1;i<=n;i++) printf("%d ",f[i]);return 0;
}

【NHOI2018】跳伞登山赛相关推荐

  1. 蚂蚁庄园运动会登山赛!3d项目入门实战!Cocos Creator 3D!

    好像没写过3d项目分享,那么就跟着蚂蚁庄园的小鸡一起跳跳跳吧! 效果预览 配置环境: cocos creator 3D 1.0.0 首先是寻找3d资源花费了大半天时间,开发3d游戏不易呀!最终还是向K ...

  2. 最快最方便的献爱心方式——蚂蚁庄园

    自从用支付宝以后,博主就一直在玩蚂蚁庄园,在这里你只需要每天花费一点点时间,给小鸡喂喂粮食,等它孵下鸡蛋,就可以捐献爱心了.这真的是最快最方便的献爱心方式了,在工作学习之余,动动手指就可以帮助到那些山 ...

  3. See Conf 悠鹤《蚂蚁庄园背后的技术与思考》笔记

    前言: 运气不佳没有被选中到现场参加第二届 See Conf 蚂蚁金服体验科技大会,全程看的直播,印象最深的分别是上午场楼院长的分享以及下午场悠鹤大佬的分享. 原先只是简单整理一下笔记,在记录过程中, ...

  4. 【Auto.js 】Android 脚本软件 简要介绍及学习资料

    背景:   前几天研究抖音视频爬取的时候,看到有篇文章提到了Auto.js,搜完之后觉得比较有意思,就看着api学了几天,写了几个自用的小脚本.很好上手,如果稍掌握一点js,将会很快可以写好并付诸使用 ...

  5. 时间诚可贵,所以自动驾驶价更高

    这是一个效率至上的数字化时代,一个以快为准则的互联网社会,对于"生命要浪费在美好的事物上"的期待与向往,使得我们的日常就是一场与时间的战斗.而有效的时间管理方法,无疑就是助力你取得 ...

  6. Cocos Creator 3D 蚂蚁庄园系列技术分享

    编者按 "游戏开发小赤佬,也玩 python 和 shell" 白玉无冰是"Cocos 荣耀讲师"征稿活动第1期的获奖作者之一,除了征稿作品<用摄像机实现 ...

  7. 膝盖中了一箭之康复篇-一周年纪念

    右膝盖前十字韧带在2014年12月份的一次常规踢球中不小心弄断.2015年5月份才确诊.随后2个月后的7月1日做了十字韧带重建术.到现在刚好是术后一年了. 总体来说恢复的情况我还比较满意.虽然两条腿的 ...

  8. 8.20模拟赛 [POI2009]WIE-Hexer [Lydsy1708月赛]跳伞求生 51nod 1479 小Y的数论题

    T1 发现 p p p很小,在最短路的基础上再加一维表示一个二进制数,代表当前拥有的剑的种类数,直接用SPFA" role="presentation" style=&q ...

  9. 张朝阳寄语“校花”把参赛比做登山 走到不同阶段都是一种成就

    10月18日消息,2019"狐友国民校花大赛"第三场全国晋级赛于北京举行.搜狐公司董事局主席兼首席执行官张朝阳在现场表示:"这是一个关乎审美并给年轻人创造成才机会的通道, ...

最新文章

  1. MyEclipse10安装SVN插件的几种方法
  2. python 短网址_Python实现短网址ShortUrl的Hash运算实例讲解
  3. egret 变量_egret性能优化总结
  4. haproxy 负载_负载测试HAProxy(第1部分)
  5. 机器学习8/100天-Logistic回归原理与实现
  6. 素材诊断分析助手_资深优化师告诉你广告投放素材都在哪找?(国内篇)
  7. java中图例的显示图标显示 jFrameChar
  8. Mac OSX x86 10.4.6 安装小记(1)
  9. 库卡profinet通讯中文说明书
  10. java 繁体转简体_java 中文繁简体转换工具 opencc4j
  11. 授课型英硕申请Ph.D (带奖)历程
  12. caffe编译-CUDNN_STATUS错误解决方案
  13. 机器学习算法(九):神经网络(neural networks,NN)
  14. 外地人,在上海报考驾照
  15. 售前售前售前售前售前
  16. 【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)
  17. 百问网7天物联网智能家居 学习心得 打卡第五天
  18. HTML+CSS期末大作业——中华传统文化题材学生网页设计成品(6页面) 学生DW网页设计作业成品 web课程设计网页规划与设计 计算机毕设网页设计源码...
  19. 图的五种最短路径算法
  20. “全球首台区块链路由器”极路由创始人获刑,发币救不了P2P

热门文章

  1. 腾达tenda U9无线网卡
  2. 泰山OFFICE技术讲座:字体的kerning是什么意思
  3. iOS 图片涂鸦功能
  4. Python字符串的转义字符
  5. 在我们这个地方,你必须不停地奔跑,才能留在原地
  6. C语言制作的讯飞语音合成、识别、唤醒标准调用接口DLL
  7. 基于JAVA计算机类专业考研交流学习平台计算机毕业设计源码+数据库+lw文档+系统+部署
  8. JS基础 Set 用于存储任何类型的唯一值
  9. 英语小学口语测试软件,你们的小学英语口语测试怎么搞?
  10. 计算机英语教程第二版课文朗读,英语口语教程