news 2026/10/13 14:34:16

USACO历年白银组真题解析 | 2013年3月Luxury River Cruise

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
USACO历年白银组真题解析 | 2013年3月Luxury River Cruise

​欢迎大家订阅我的专栏:算法题解:C++与Python实现!
本专栏旨在帮助大家从基础到进阶 ,逐步提升编程能力,助力信息学竞赛备战!

专栏特色
1.经典算法练习:根据信息学竞赛大纲,精心挑选经典算法题目,提供清晰的代码实现与详细指导,帮助您夯实算法基础。
2.系统化学习路径:按照算法类别和难度分级,从基础到进阶,循序渐进,帮助您全面提升编程能力与算法思维。

适合人群:

  • 准备参加蓝桥杯、GESP、CSP-J、CSP-S等信息学竞赛的学生
  • 希望系统学习C++/Python编程的初学者
  • 想要提升算法与编程能力的编程爱好者

附上汇总贴:USACO历年白银组真题解析 | 汇总-CSDN博客


【题目来源】

洛谷:[P3083 USACO13OPEN] Luxury River Cruise S - 洛谷

【题目描述】

农民约翰正带着贝西和其他奶牛们进行一次巡航!他们航行在一个有N NN个港口(1 ≤ N ≤ 10 3 1 \le N\le10^31≤N≤103)的河网中,港口编号为1 , 2 , 3 … N 1,2,3\dots N1,2,3…N,贝西从港口1 11出发。每个港口恰好有两条流出的河道,直接通向其他港口,并且这些河道只能单向航行。

在每个港口,导游会选择走左边的河道或右边的河道继续向下游航行,但他们会一遍又一遍地重复相同的选择顺序。更具体地说,导游事先选定了一个长度为M MM的方向序列(1 ≤ M ≤ 500 1\le M\le5001≤M≤500),每个方向要么是左,要么是右,然后将这个序列重复K KK次(1 ≤ k ≤ 10 9 1\le k\le10^91≤k≤109),请帮她计算出她最终会停在哪个港口。

【输入】

第1 11行:三个用空格隔开的整数N , M , K N,M,KN,M,K。

第2 22行到第N + 1 N+1N+1行中,第i + 1 i+1i+1行包含两个用空格隔开的整数,分别表示港口i ii的左边河道和右边河道通向的港口编号。

第N + 2 N+2N+2行:M 个用空格隔开的字符,每个字符是 L 或 R。L 表示选择左边的河道,R 表示选择右边的河道。

【输出】

输出一个整数,表示贝西的巡航最终停靠的港口编号。

【输入样例】

4 3 3 2 4 3 1 4 2 1 3 L L R

【输出样例】

4

【算法标签】

《洛谷 P3083 Luxury River Cruise》 #模拟# #倍增# #USACO# #2013#

【代码详解】

#include<bits/stdc++.h>usingnamespacestd;constintN=1005;intn,m,k;// n: 位置数, m: 操作序列长度, k: 操作轮数inta[N][2];// a[i][0/1]表示在位置i,选择左/右后到达的位置boolflag[N];// flag[i]表示第i个操作是L(0)还是R(1)intf[N][30];// f[i][j]表示从位置i开始,执行2^j轮操作后到达的位置intmain(){// 输入cin>>n>>m>>k;// 读入位置转移表for(inti=1;i<=n;i++)cin>>a[i][0]>>a[i][1];// a[i][0]是左选择,a[i][1]是右选择// 读入操作序列for(inti=1;i<=m;i++){charopt;cin>>opt;if(opt=='R')// 右操作flag[i]=1;// 标记为1elseflag[i]=0;// 标记为0(左操作)}// 预处理:计算每个位置执行一轮(m个操作)后到达的位置for(inti=1;i<=n;i++){intpos=i;// 从位置i开始for(intj=1;j<=m;j++)// 执行一轮m个操作{// 根据操作类型选择左或右pos=a[pos][flag[j]];}f[i][0]=pos;// 记录执行一轮后的位置}// 倍增预处理:计算执行2^j轮后的位置for(intj=1;j<30;j++)// 2^30 > 1e9,足够大{for(inti=1;i<=n;i++){// 执行2^j轮 = 先执行2^(j-1)轮,再执行2^(j-1)轮f[i][j]=f[f[i][j-1]][j-1];}}// 模拟执行k轮操作intpos=1;// 起始位置是1for(inti=29;i>=0;i--)// 从高位到低位处理k的二进制{if(k&(1<<i))// 如果k的第i位是1{// 从当前位置执行2^i轮pos=f[pos][i];}}cout<<pos<<endl;// 输出最终位置return0;}

【运行结果】

4 3 3 2 4 3 1 4 2 1 3 L L R 4
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/10 22:06:03

YOLOv8日志收集ELK方案:集中管理训练日志

YOLOv8日志收集ELK方案&#xff1a;集中管理训练日志 在现代AI研发实践中&#xff0c;一个看似不起眼却影响深远的问题正困扰着越来越多的团队——当我们在多个服务器、容器甚至云实例上并行训练YOLOv8模型时&#xff0c;那些记录着损失值波动、mAP变化和学习率调整的日志文件&…

作者头像 李华
网站建设 2026/10/12 4:22:31

YOLOv8多版本共存:virtualenv隔离不同项目

YOLOv8多版本共存&#xff1a;virtualenv隔离不同项目 在深度学习项目开发中&#xff0c;一个看似不起眼却频频引发“线上事故”的问题浮出水面——环境依赖冲突。你是否经历过这样的场景&#xff1a;刚跑通YOLOv8的新模型&#xff0c;准备回头维护一个基于YOLOv5的老项目时&a…

作者头像 李华
网站建设 2026/10/10 16:31:47

程序员必学!AI智能体记忆系统:理论框架与实战指南(收藏)

这篇由多所顶尖机构联合发布的综述&#xff0c;提出"形态-功能-动态"三维框架&#xff0c;系统解构了AI智能体记忆系统的完整蓝图。文章明晰了智能体记忆与LLM记忆、RAG、上下文工程的边界与联系&#xff0c;详细分析了记忆的三种形态、三大功能及动态过程&#xff0…

作者头像 李华
网站建设 2026/10/12 4:27:38

YOLOv8离线安装方案:内网环境部署必备

YOLOv8离线安装方案&#xff1a;内网环境部署必备 在智能制造工厂的质检线上&#xff0c;一台边缘服务器正实时分析高清摄像头传回的画面——但整个系统处于完全隔离的内网环境中&#xff0c;无法访问公网。这种场景下&#xff0c;如何快速部署一个高性能的目标检测模型&#x…

作者头像 李华
网站建设 2026/10/9 14:23:07

DeepSeek应用完全指南:从PPT制作到会议纪要,3个实用技巧助你高效工作

本文介绍了DeepSeek与三种第三方平台的结合使用技巧&#xff1a;与Kimi协作自动生成高质量PPT&#xff0c;与ChatExcel合作创建数据驱动型报告&#xff0c;以及与飞书妙记配合生成结构化会议纪要。这些组合应用极大地降低了AI使用门槛&#xff0c;使普通人也能轻松将AI技术应用…

作者头像 李华
网站建设 2026/10/11 11:10:22

CES 2026趋势展望:全球最大科技展五大热门话题预测

CES即将到来&#xff0c;将于1月4日对媒体开放&#xff08;大多数新闻在此期间发布&#xff09;&#xff0c;并于1月6日对公众开放。作为世界最大的科技会议&#xff0c;这个展会通过公司在全球舞台上展示最新创新成果来开启新的一年。结果就是为科技爱好者和普通大众带来大量的…

作者头像 李华