尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

CF1039A Timetable - crazy-

CF1039A Timetable - crazy-
📅 发布时间:2026/6/20 3:56:03

构造

题意

有 \(n\) 辆公交车从车站 A 到车站 B,最短行驶时间为 \(t\)。已知:

  • A 站出发时刻表 \(a_1 < a_2 < \dots < a_n\)
  • 每辆公交车到达 B 站后,B 站会有一个到达时刻表 \(b_1 < b_2 < \dots < b_n\)
  • 一辆公交车的行驶时间不能短于 \(t\)
  • 每辆公交车 \(i\) 在合法到达排列中的最晚排名为 \(x_i\)(即它最多能排在第 \(x_i\) 位到达)

给定 \(a_i\) 和 \(x_i\),要求构造一组 \(b_i\) 满足所有条件,或判断无解。

\(1 \leq n \leq 2 \times 10^5\),
\(1 \leq t \leq 10^{18}\),\(1 \leq a_1 < a_2 < \dots < a_n \leq 10^{18}\),\(1 \leq x_i \leq n\)

题解

先简单粗暴的构造一组 \(b_i=a_i+t\),再考虑修改。

设当前正在处理第 \(i\) 位,前面 \(x_i\) 的最大值为 \(mx\)。若 \(mx>i\) ,意味着有车需要来到他的后面,也就意味着 \(a_{i+1}+t\ge b_i\)。

这是因为如果一辆车 \(i\) 要移动到 \(x_i\),最简单的方法是将 \(j \in (i,x_i]\) 向左平移一个顺位。

因此令 \(b_i\leftarrow b_{i+1}\),同时 \(b_{i+1}\leftarrow b_{i+1}+1\)。

最后再用类似于双指针的算法判断一下每一个 \(i\) 是否最远只能到达 \(x_i\),因为为了迁就前面的 \(x_i\),当前的 \(i\) 也可能飞的更远。

代码

#include<bits/stdc++.h>
#define int long long
using namespace std;
const int Maxn=2e5+10;
int n,t,mx;
int a[Maxn],b[Maxn],x[Maxn],f[Maxn];
signed main()
{cin>>n>>t;for(int i=1;i<=n;i++) cin>>a[i],b[i]=a[i]+t;for(int i=1;i<=n;i++) cin>>x[i];for(int i=1;i<=n;i++){mx=max(mx,x[i]);if(mx>i) b[i]=b[i+1],b[i+1]++;}int l,r;for(l=r=1;l<=n;l++){if(r<=l) r=l;while(r+1<=n && a[r+1]+t<=b[r] && a[l]+t<=b[r+1]) r++;if(r!=x[l]) return (cout<<"No"<<endl,0);}cout<<"Yes"<<endl;for(int i=1;i<=n;i++) cout<<b[i]<<" ";cout<<endl;return 0;
}

相关新闻

  • 基于泰坦尼克号数据集的随机森林算法实战
  • 亿赛通脚本远程调试配置技巧
  • 探索非线性电液伺服系统:从PID到反步控制的奇妙之旅

最新新闻

  • 命令行数据高效粘贴Excel:pandas与printmatrix实战指南
  • 2026茂名漏水检测维修精选优质服务商TOP5推荐!卫生间漏水/厨房漏水/屋顶天花板漏水/阳台漏水/地下室漏水防水补漏检测维修-正规防水补漏公司优选口碑榜测评推荐 - 即刻修防水
  • Kinetis KL27 ADC与通信接口电气特性深度解析与实战设计
  • 如何3步完成B站视频转文字:免费工具bili2text完全指南
  • 2026年叠螺污泥脱水设备厂家推荐:养殖场污粪处理/工业污泥脱水/废水回收/小型污泥处理设备供应商盘点 - 海棠依旧大
  • 2026芜湖漏水检测维修精选优质服务商TOP5推荐!卫生间漏水/厨房漏水/屋顶天花板漏水/阳台漏水/地下室漏水防水补漏检测维修-正规防水补漏公司优选口碑榜测评推荐 - 即刻修防水

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号