海亮寄 7.7

前言

业精于勤荒于嬉,行成于思毁于随

正文(模拟赛)

卦象:平

模拟赛原题来源:You-Know-Where

感受:是 OI 赛制,\(3\) 个小时 \(4\) 道题,分数 \(143/400\)。算是暑假一期集训以来第二次受挫(第一次也是被 CSP 模拟赛薄纱)。今天犯了很多低级失误,果然只有 OI 赛制才能更多地暴露问题。T1 和 T4 寒假做过,但也尽数遗忘,赛时都是现推的。T1 是贪心题目,典型的结论题,硬控自己一个点,时间开销有点大,不过依旧可控。然后扫了一眼后三道题目,T4 做过就先不看,T3 没有读懂题,故决定死磕 T2。写了一个像模像样的 DP 之后,发现样例不过并且偏差很大,然后手模样例却无果,一度认为是题出错了。无法和出题人在 T2 上建立联系,遂放弃。发生上述意外之后,时间仅剩余 70min(最后发现读错题了,感觉赛时的自己还是太幽默了)。试图理解 T3 题意,但失败,无奈去思考 T4 正解。其实正确的做法应该是去搞 T4 的暴力分数,更稳妥一些。但考虑到 T4 寒假见过,不想拘泥于暴力分数,故试图思考正解。5 min 获得正解思路,剩余时间用来实现和调试。中间的过程一波三折,还重构了一次,在最后的 3min 内终于通过编译并且通过样例数据。由于样例比较大,所以当时预计得分 200/400,但实际 143/400。挂分原因是线段树数组仅开了一倍空间,有点忙中出错了(但其实由于这个题目卡常,所以即便空间开对也只能拿 59pts)。审题问题暴露的比较严重,T2 T3 两道题目放弃确实给心态给予了沉重打击,而且也给补题环节带来了极大的痛苦。如果不是脑海里还有一点点关于 T4 解法的印象并且非常幸运地调试成功,可能今天的分数就要和小登们做一桌了

题解链接

T1

贪心结论题。优先删除子树深度较大的结点。

T2

比较神秘的 DP 期望题,赛时读错题目,补题听讲之后没有理解思路

重整旗鼓之后还是不会,听了墨鱼讲了一遍,疑似会了

每个点独立被选的概率是好求的,随便 DP 即可,记作 \(f_u\)

注意到 \(a_u\) 的只会给子树范围内的结点贡献,换言之 \(u\) 只会接受其祖先的贡献。所以记 \(ans_u\) 表示钦定选择 \(u\) 之后其所有祖先给它贡献的期望分数,然后考虑转移

假设已经有了 \(ans_u\)\(ans_v\)(其中 \(v\)\(u\) 的子结点),试图递推 \(ans_x\)\(x\)\(v\) 的子结点)。当钦定选择 \(x\) 的时候,\(v\) 一定不会贡献给 \(x\),所以只有 \(u\) 结点会携带着其祖先向 \(x\) 大踏步地贡献过来

注意到另外一个事实,即 \(ans_u\) 表示 \(u\) 被选择,而 \(ans_v\) 恰好对应 \(u\) 不被选择的情况,所以只需要全期望公式弄一下就可以递推出 \(ans_x\)

然而 \(ans_u\) 对应的概率并非 \(f_u\),注意到 \(x\) 钦定被选中,意味着 \(v\) 一定不被选中,所以 \(f_u\) 中间属于 \((1-f_v)\) 的贡献应当被刨除

综上所述,有

\[ans_x = ans_u \times \frac{f_u}{1-f_v} + ans_v \times (1 - \frac{f_u}{1-f_v}) \]

那这就是随便维护即可,时间复杂度线性

T3

语文不行呐!

其实读明白题目之后感觉自己一下子大脑清明了许多(当然也有可能是花露水提神醒脑了一下)

下午讲题收获颇丰,因为在午休的时候恶补了一下题意,然后多想了一会,感觉起来很不错

实际上可以通过手模一些连续且性质优秀的下标,观测到一些和 $\log $ 有关的结构,比如倍增

注意到蝴蝶变换可以两块合并,方式形如洗牌

题目形如一个字符串判等,容易想到字符串哈希

所以现在是用倍增数组维护哈希值,然后就没有然后了

可能实现上下标从 \(0\) 开始是需要特别注意的!

T4

赛场上想到的就是正解,但因为线段树空间开小挂分,并且题目卡厂,没有拿到全分

谴责 ban 题人调小时限的行为!

枚举 popcount,或总是越或越大的,与总是越与越小的,所以枚举 popcount 后就容易划分出两个集合,对于临界的部分,发现其存在合法的划分方案的必要条件是 popcount 为临界值的数都相等

剩下的是一些细节问题,因为需要查询区间与值或值,所以开 30 棵线段树维护

(哎,就是这个鬼地方卡常呐)

小结

今天补题非常痛苦,再次证明了审题的重要性

后记

世界孤立我任它奚落

完结撒花!

posted @ 2025-07-07 19:30  sunxuhetai  阅读(10)  评论(0)    收藏  举报