CCPC Final 2018 题解

前人之述 已包含部分题目,此处不表。

D. Cube

为了方便,用 \(c_u\) 表示 \(u\) 当前走进的次数。

\(f_1(u),f_2(u)\) 表示当前走进 \(u\)\(fa\) 已经不能走,\(c_u = 1/2\),的权值期望。

\(p(u)\) 表示当前走进 \(u\)\(fa\) 还能走,但是最后死在 \(u\) 子树里的概率。

\(g(u)\) 表示在死在 \(u\) 子树里这个条件下,的权值的期望。

转移可以考虑,枚举 \(u\) 下一步走进一个儿子 \(v\)

  • 路径不回到 \(u\),概率为 \(p(v)\),期望为 \(g(v)\)
  • 路径为 \(u\to v\to u\),概率是两个倒数乘积,此时 \(c_v=1\),还可以走 \(v\)
  • 非上面两种情况,路径为 \(u\to v\to \cdots\to v\to u\),概率为 \(1\) 减去上面的,此时 \(c_v=2\),不能走 \(v\)

对后两种情况再分讨一下下一步走进哪个儿子(或被迫停在 \(u\))即可,因为此时 \(u\) 已经无法再进入,可以归到儿子的 \(f_1,f_2\)

E. Mr. Panda and Cactus

每个环可以转化为一个从小到大排序的数组,第一次 cut 需要取前 2 个,后面每次取 1 个。

直接 dp 就是 \(O(nk)\)

可能有 \(O(n\log n)\) 做法,咕。

F. Cones

求出所有点的 Voronoi Diagram,平面上每个点归进离它最近的那个 cone。

问题转化为求一个圆和凸多边形的交,在 cone 上垂直的体积。

将交差分为若干个扇形和三角形,分别积分。

用极坐标-半径的积分,扇形是容易的,三角形的话,先差分成直角三角形,然后要算 \(\int_{x=0}^{\theta} \sec^3 x dx\)

懒得积分了,ask gpt。

H. Game on the Tree

这个不是我做的,搬运一下别人的

先处理一下自环和重边的情况(此时判定环为空)。如果 Panda 在环上,就检查所有点的距离;否则只检查所有不在环上的点的距离。

对于环上的点——先求出 Panda 和 Sheep 各自到环最近的点。如果 Sheep 比 Panda 先到达 Panda 与环的交点,Sheep 就能阻止 Panda 进入环,因此必胜;如果 Panda 比 Sheep 先到达交点,则需要检查所有环上点的距离。

如果 Sheep 比 Panda 先到达交点,就先把两者的位置都朝着环的方向推进一下,然后再检查:

  • a)Sheep 是否会先触及所有逃生点;
  • b)是否存在一个点 x,可以抑制 Panda 冲向环上的任意一个逃生点。

如果 a)或 b)中任意一个成立,则 Sheep 获胜;否则 Panda 必胜。

J. Mr. Panda and Sequence Puzzle

对于一个可以翻转的前缀 \(i\),设 \(f_i\) 为可以达到的字典序最小串。

假设下一个能翻转的前缀为 \(j\),那么 \(f_j = \min(f_i + s[i+1:j], \text{rev}(s[i+1:j])+f_i)\)

用双端队列 + 哈希维护当前串,二分 hash 比较即可。

posted @ 2026-01-16 01:32  Rainbow_qwq  阅读(5)  评论(0)    收藏  举报