Codeforces 2013 D.Penchick and Desert Rabbit题解

news/2024/11/16 0:04:15/文章来源:https://www.cnblogs.com/chen-nie/p/18548917

D. Penchick and Desert Rabbit

题意

给定数组 \(a\), 每个逆序对连有向边,对每个点分别求能到达的最大点

分析

样例:
$ 2\ 4\ 1\ 6\ 3\ 8\ 5\ 7 $
\(2\) 的走法: $ 2 \rightarrow 1 \rightarrow 4 \rightarrow 3 \rightarrow 6 \rightarrow 5 \rightarrow 8$
通过这个数据可以发现走法可能十分复杂,因此不容易简化这个图。
考虑换一种视角,对答案从大到小考虑。

解法

从大到小枚举这些数。考虑哪些数能到达最大值。显然最大值及右侧的数可以到达最大值。因此左边界 \(L\) 初始为 最大值的位置。

$ 2\ 4\ 1\ 6\ 3\ \textcolor{red}{ 8\ 5\ 7 }$

我们可以维护可行区间。假设目前左边界 \(L\) 。考虑 \(L - 1\)

\(1)\) 如果它比可行区间的最小值大,那么它可以到达这个最小值,进而到达最大值。
$ 2\ 4\ 1\ 3\ \textcolor{green} 6\ \textcolor{red} 8\ \textcolor{red} 5\ \textcolor{red} 7 $
这是一个例子 6 可以到达可行区间内的最小值 5,因此能到达最大值 8

\(2)\) 否则,如果它左边有一个数,比可行区间的最小值更大,那么它可以到达这个值,再到达可行区间最小值,进而到达可行区间最大值。因此左边界 \(L\) 初始为最大值的位置。
$ 2\ 4\ 1\ \textcolor{blue}6\ \textcolor{green}3\ \textcolor{red} 8\ \textcolor{red} 5\
\textcolor{red} 7 $
这是一个例子 3 可以到达左边的 6,再到达可行区间内的最小值 5,因此能到达最大值 8

总之,它能到达最大值,当且仅当前缀最大值比可行区间最小值更大。即
$ preMax[L - 1] \gt sufMin[L] $ 。否则不管这个可行区间,以 $ preMax[L - 1]$ 作为最大值,处理剩余部分。

主要代码

int L = N;
while(L > 0){int max = premax[L - 1];while(L > 0 && premax[L - 1] >= max){ans[--L] = max;}while(L > 0 && premax[L - 1] > sufmin[L]){ans[--L] = max;}
}

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

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

相关文章

11/15

好讨厌现在的自己 我的能量太低了 需要不断的慰藉 我喜欢逃避 野心家,思想家,我真的sb 没有成就感 绝望绝望绝望绝望绝望今天很drama,不想说什么了,难受,以后再写 明天计划C语言5题【今天少了一道】 下午去比赛 前端考核作业【1/2】可能睡觉睡少了,不开心?洗洗睡了

团队项目4——项目冲刺-4

每日站立式会议昨天已完成的工作: 杨睿:完善社区活动模块接口 个人中心模块接口木萨江:投诉反馈页面开发 管理员管理用户相关接口巴音才次克:物业报修相关接口李佳聪:检查车位信息的删查改接口是否符合需求今天计划完成的工作: 杨睿:完善管理页面 对接个人中心接口木萨江…

团队作业4——项目冲刺5

这个作业属于哪个课程 https://edu.cnblogs.com/campus/gdgy/CSGrade22-34/作业要求 需求&原型改进、系统设计、Alpha任务分配计划、测试计划团队项目仓库 https://github.com/bitpurleclude/GDUT-Goofish/issues团队成员 李嘉锐 车峤锐 于海洋 林进光 黄健 钟启腾 钟月灿1…

基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现二

运行环境:jdk1.8、mysql5.x、idea、maven3.5/3.5 如果环境一致 运行不起来可以右侧联系我,包运行。 功能:管理员信息数据层Mapper、宠物信息数据层Mapper、宠物领养记录信息数据层Mapper、宠物评论信息数据层Mapper、宠物评论回复信息数据层Mapper、用户信息数据层Mapper 技…

Alpha冲刺(3/14)——2024.11.14

目录一、团队成员分工与进度二、成员任务问题及处理方式三、冲刺会议内容记录会议内容四、GitHub签入记录及项目运行截图GitHub签入记录五、项目开发进展及燃尽图项目开发进展燃尽图六、团队成员贡献表 一、团队成员分工与进度成员 完成的任务 完成的任务时长 剩余时间施靖杰 编…

「AI Infra 软件开源不是一个选项,而是必然」丨云边端架构和 AI Infra专场回顾@RTE2024

在人工智能和开源技术蓬勃发展的当下,AI Infra 项目正经历着日新月异的变革。从跨平台运行时到云边端 AI 基础设施,再到多模态知识助手,创新浪潮席卷而来。这些进步不仅显著提升了技术指标,也为实时音视频处理、边缘计算、大模型应用等场景开辟了新的可能性。在 RTE 2024 大…

2024-2025-1 20241305 《计算机基础与程序设计》第八周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计这个作业要求在哪里 2024-2025-1计算机基础与程序设计第八周作业这个作业的目标 1、功能设计与面向对象设计 2、面向对象设计过程 3、面向对象语言三要素 4、汇编、编译、解释、执行作业正文 本博客链接教材学习…

基于Java+SSM+JSP+MYSQL实现的宠物领养收养管理系统功能设计与实现一

功能点:管理员信息实体类Entity、宠物信息实体类Entity、宠物领养记录信息实体类Entity、宠物评论信息实体类Entity、宠物评论回复信息实体类Entity、用户信息实体类Entity 技术点:SSM+JSP+Mysql+Bootstrap+JS+CSS 免费学习:猿来入此一、前言介绍: 免费学习:猿来入此 1.1 …

2024-2025-1 20241320 《计算机基础与程序设计》第8周学习总结

2024-2025-1 20241320 《计算机基础与程序设计》第8周学习总结 作业信息 |这个作业属于哪个课程| https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP |这个作业要求在哪里| https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08 |这个作业的目标| 功能设计与面向对象设…

项目冲刺11.15

这个作业属于哪个课程 计科22级34班这个作业要求在哪里 作业要求这个作业的目标 进行为期七天的项目冲刺并记录前言 本篇博客是项目冲刺的第七篇,七篇博客的汇总如下:博客汇总第一篇博客第二篇博客第三篇博客第四篇博客第五篇博客第六篇博客第七篇博客团队简介队名 拖延是你不…

Latex 安装

使用的开发环境是 VSCode. Latex 在编译时需要用到宏包. 宏包到底是啥? 有啥作用? 从何处下载? Latex 软件的安装:texlive: 一次性下载所有的宏包. 磁盘需求较大, 约 7 ~ 8 G.miktex: 仅下载必要的宏包, 编译时补充下载宏包. 磁盘需求较小, 约几百 M.清华大学开源软件镜像站…

20222424 2024-2025-1 《网络与系统攻防技术》实验五实验报告

20222424 2024-2025-1 《网络与系统攻防技术》实验五实验报告 1.实验内容 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息:DNS注册人及联系方式 该域名对应IP地址 IP地址注册人及联系方式 IP地址所在国家、城市和具体地理位置 PS:…