2021牛客寒假算法基础集训营5
题目链接
2021牛客寒假算法基础集训营5
A.美丽的路径
题目描述
叶妺妺非常喜欢图论题,这天她出了一个图论题,有一个 个点 条边的无向图,其中第 个点的点权为 ,她定义一 条点数为 路径: ;其中点 与点 通过一条边直接相连 ,所以路径中可以出现重复 的点。她将一条路径的美丽值定义为:假设这条路径的点数为 ,那么这条路径的美丽值就是此路径上的所有点的点 权中第 小的点权。现在她会询问你是否存在起点为 号点并且终点为 号点的路径,如果存在则先输出 ,再输出存在的所有路径中的最大的美丽值;否则直接输出 。
输入描述:
有多组样例, 第一行输入一个数 , 表述样例组数
对于每组样例, 第一行先输入四个数 , 保证
第二行输入 个数, 其中第 个数为 , 表示第 个点的点权
接下来输入 行, 第 行输入两个数 和 , 表示点 与点 之间有一条无向边, 保证
【数据规模与约定】
输出描述:
如果存在起点为 号点并且终点为 号点的路径, 则第一行输出 , 第二行输出存在的所有的路径中的最大的 美丽值; 否则直接输出
示例1
输入
输出
解题思路
二分,dfs
二分答案 ,如果 到 的路径上存在相邻的节点点权都大于或等于 ,则由于可以在两点之间无限徘徊使得中位数大于等于当前答案,说明答案可能会更大,另外如果存在一条 到 的路径中大于等于 的点的个数不少于少于 的点的个数,也说明答案可能会更大,其他情况说明答案大了
- 时间复杂度:
代码
D.石子游戏
题目描述
叶妺妺很喜欢玩石头,于是这天泽鸽鸽给她出了一道石子游戏,规则是这样的:有 堆石子排成一行,其中第 堆石子 有 个,叶妺妺可以选择做无数次这种操作:每次操作把连续相邻的 个石子堆中的每堆石子数目加一,请问叶妺妺 能否让每堆石子的数目都相同呢? 叶妺妺觉得这题太简单了,于是丢给了聪明的你,快来解决这个问题吧!
输入描述:
第一行输入样例组数
对于每组样例来说, 第一行输入两个数 和
第二行输入 个数, 其中第 个数为
【数据规模与约定】
输出描述:
输出总共 行, 对于每组样例来说, 如果能使每堆石子的数目都相同则输出一个整数 表示达到相同时的最 少的操作数; 否则输出
示例1
输入
输出
解题思路
差分
先求出差分数组,最后的目的即第二项后面的数都为 ,而每次差分可将一个位于 的数加一,位于 的数减一,注意操作不用管第 项以及 项,从后往前,可以先把那些正数变为 ,再从前往后把那些负数变为 ,最后检查是否满足要求
- 时间复杂度:
代码
__EOF__

本文链接:https://www.cnblogs.com/zyyun/p/16057689.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!