EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2) VP记录
EPIC Institute of Technology Round Summer 2024 (Div. 1 + Div. 2) VP记录
A
一眼
B
最后的数列是固定的,每个数与最后数列的数相减后,对差值求和再加上最大值即可。
C
唐诗 C 题,获得
只有一个数右边的数归零了,它才会归零。
右往左扫,如果右边的数已经归零了
D
相当于,Alice 选一个数后能删除所有小于或等于它的数,Bob 每回合删除一个数。
所以 Alice 每次取最小的就行了,而 Bob 要考虑的就多了。
考虑目标。Bob 的目标是删除尽量多的数。
设
首先如果不删当前数,则有
如果删当前数,则有
直接 dp 即可。
E
设
那么每次操作就是,选一个节点,令它的权值减去
那么当当前考虑的
那么贪心的,每次选消耗最小的节点即可。对每个点维护优先队列,按深度从小到大选取,每个点计算完答案后把优先队列合并到父节点上。时间复杂度是
F
神仙区间 dp。
场上想了一个小时一点不会,狠狠地认识到自己对区间 dp 一无所知。
首先考虑对于一个
。显然删除两个值不会让 增大。 。也是比较显然的。删除两个数不会改变 的奇偶性。- 需要在
这个前缀中恰好删除 个数,使得 。
基于这三个条件,可以进行区间 dp。
设
首先有种拼接的转移。枚举断点
然后还可以选择将
这里区间 dp 完了后,就能统计答案了。
设
枚举
然后就做完了。
G
考虑代码之后补,因为周围人在玩 CS。
这种题不看题解不会写,看了题解发现是萌萌分讨题,然后发现不会写笛卡尔树。
Update on 2024/9/1 这下会了。
参考 [Moeebius 大神的题解](题解:CF1987G2 Spinning Round (Hard Version) - 洛谷专栏 (luogu.com.cn)),或者说单纯在复述/抄袭其题解。
手摸一下,最后建出来的是一棵基环数,具体地,一棵树然后最大值上挂了个自环,否则一定不连通,即无解。具体判断的时候,如果一个非最大值的点套了一个自环,那么就是无解。
然后考虑建出原排列的笛卡尔树,然后注意两种操作。向左连边相当于连向在笛卡尔树上一直往上跳直到第一次向右跳跳上去的那个节点,向右连边则是一直往上跳直到第一次向左跳跳上去的那个节点。
上图是排列
考虑在笛卡尔树上 dfs 的同时求出直径。
设
对于
分讨。
假设现在在点
-
路径不经过
:注意到如果左子树向左连边跳出了左子树,那么也一定跳出了当前子树。其余情况同理。
虚线表示不一定直接相连的点。箭头表示新树上连的边。下同。
-
路径包含
,且 向左连边。第一个式子表示从左/右子树跳到了
,再进一步跳出去。第二个式子,如果存在一左一右两条跳出
的子树的路径,因为 已经向左跳出了,因此子树内仅有可能向右跳出。由于左子树内向右跳只能跳到节点 ,所以向右跳的路径必然由右子树提供。蓝色,紫色箭头表示二选一。下同。
-
路径包含
,且 向右连边。和 2 是镜像的。
最后统计答案。记路径两端点的 LCA 为点
-
两端点分别属于
的两个子树: -
两端点来自
的同一子树:这种情况不方便在 LCA 处统计答案,因为可能两条边距离 LCA 都很远。
考虑汇合前最后一次跳跃。
枚举最后的点最后一次连边的方向。假设是在
处向左连边。有:如图所示。
然后就能
看起来代码不难写。明天再写?后天再写?谁知道呢。什么时候补这题取决于哪一天 VP 后补题比较快。
Update on 2024/9/1 补题,启动!
Update on 2024/9/2 补完啦!
H
交互题 + H 题 = 谁爱补谁补去。
本文作者:AzusidNya の 部屋
本文链接:https://www.cnblogs.com/AzusidNya/p/18385589
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步