【题解】GDOI2022 PJ 不保证完全正确的题解
ExplodingKonjac · · 个人记录
GDOI2022 普及组题解
\text{D1T1 zouji}
题意
群臣吏民能面刺寡人之过者,受
给出一些朝廷备案,求哪个人拿到最多的赏,相同的算较早拿到的。
题解
依照题意模拟即可。这东西怎么还有部分分啊
\text{D1T2 sequence}
题意
给出一个序列,每次可以合并两个相邻的数
题解
做异或前缀和,得到数组
\text{D1T3 line}
题意
给定一棵树,可以花费
题解
考虑枚举最大值,权值相同的按深度从大到小,现在只用考虑最小化选的个数。由于特殊限制,没有已选点是当前点的祖先。所以每次新加一个节点选上并丢掉它子树内已选的点肯定最优。用 set 维护选择的点以及没被覆盖的叶子,总复杂度
\text{D1T4 counting}
题意
现在有很多个数,数字
-
集合大小大于等于
2 ; -
该集排序后是一个等差数列;
-
每个数都是公差的倍数。
求有多少个大小在
题解
先枚举公差
然后对于每一段,就是要找长度在
\text{D2T1 bing}
题意
给定
题解
拆开取模并移项,
\text{D2T2 webpage}
题意
有
-
为子节点打开一个新标签页;
-
直接用子节点替换当前网页;
-
回退到上一个网页;
-
关闭标签页。
求浏览所有网页并关闭标签页的最小操作次数。
题解
比较有意思。
回退这个操作是没用的。因为我们可以打开新标签页,所以子节点打开新标签页后就和当前节点无关了。所以一个节点的花费是打开自己的花费+浏览子节点的花费+关闭自己的花费。
又注意到若当前节点不是叶子,我们可以选择某个子节点直接替换自己,这样就不用花费一步来关闭这个标签页了,所以只有叶子需要“真正”加上关闭的花费。
所以有,
\text{D2T3 clock}
题意
有一个电子钟,用八段数码管显示了年月日时分秒。一段数码管在状态改编时会消耗一单位电。求两个时间点之间电子钟共消耗多少电。
题解
先打一些简单的表,然后枚举秒,可得
\text{D2T4 robot}
题意
地图上有一个机器人,还有障碍。给一个上下左右的指令序列,每个指令机器人可能会无视,如果走的方向是障碍机器人不会走。求机器人有没有可能跨出地图。
题解
因为我们要求机器人是否能跨出地图,所以我们让机器人尽可能跨出地图是一个很正确的方法。设
然后使用类似 SPFA 的方法,用子序列自动机处理转移。注意到一个节点最多被上下左右各更新一次,所以每个点至多入队