ICPC20240814
ICPC20240814
T1 Simple Tree Problem 不会
T2 Simple Set Problem
- 题意:给定
个非空的多重集合,每个多重集合只包含绝对值不超过 的整数。需要从每个多重集合中选择一个数字,组成一个长度为 的数组 。
设 。请计算最小的 。 - 题解:首先将元素的值
以及所属集合的编号 作为二元组 存入数组,然后按照 升序排列, 之后使用双指针扫描数组(尺取法),当区间内出现了所有编号时更新答案的 。 - 代码
T3 Data Generation 不会
T4 Teyvat 不会
T5 PSO
- 题意:我看不懂。
- 题解:根据样例出结论,记得特判。
- 代码
T6 Kong Ming Qi
- 题意:游戏在一个
棋盘上进行,棋盘中间的 位置各有一个棋子。
每次,你可以选择一个棋子,然后选择上、下、左或右四个方向中的一个。将所选棋子沿所选方向从原始位置移动一个网格。除了上述要求之外,还必须满足以下条件:原始位置和目标之间必须有一个棋子,井且目标位置上不能有棋子。所有位置都必须在棋盘上。
移动后,中间位置上的棋子将被拿走,每次移动后,棋盘上将移走一个棋子。给出 ,问棋盘剩下的最少棋子数量是多少? - 题解:
打表看出结果,有以下四种情况 - 如果
,答案为 - 如果
,答案为 - 如果
,答案为 - 如果都不满足,答案为
- 代码
T7 Circuit
- 题意:现在有一个有向图
,有 个顶点和 条边(图中不保证连通)。你需要计算最小长度的环的长度。同时,在此基础上,你还需要计算最小长度的环的数量 。( 图中没有重边和自环) - 题解:数据太小,用两个
floyd
来分别计算环的长度环的数量,还要注意预处理。 - 代码
T8 a-b Problem
- 题意:有
块石头。刘泷心和潘奕帆轮流挑选,刘泷心先开始。每个人每次只能拿一块石头,直到所有的石头都被拿走。每块石头有两个属性, 和 。刘泷心拿一块石头获得 分,潘奕帆拿一块石头获得 分。刘泷心和潘奕帆都希望使自己的分数减去对方的分数尽可能大。问分数之差是多少? - 题解:考虑转化一下问题,假如一开始所有石子全在潘奕帆手里,那么题中轮到刘泷心取时就拿走一个潘奕帆手中的石子,轮到潘奕帆取时潘奕帆就藏起来一个石子不让刘泷心拿,这样显然与之前的问题等价。 然后刘泷心取时自己获得
的分数,潘奕帆失去 的分数,相当于拉开了 点分数差,所以刘泷心一定会优先取 最大的石子,而潘奕帆也会优先藏住 最大的石子,所以只需要按 排序再轮流按顺序取即可。 - 代码
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步