1.P6781 [Ynoi2008] rupq2.SNOI 2020 排列 题解3.ICPC WF 2022 2023 Bridging the Gap 过桥4.2023 ICPC Seoul Regional A. Apricot Seeds(Pjudge【NOIP Round #7】冒泡排序)5.CCPC Final 2023 B. Periodic Sequence6.OCPC2024Day1/3rd ucup stage3 Formal Fring
7.[PKUSC 2023 D1T3] 天气预测
8.[PKUWC 2025 D2T1]网友小 Z 的树9.[PKUWC2025 D2T2]盒子10.[集训队互测2024]建设终末树一棵以 为根的树,每个点 有一对权值 , 为 的概率为 ,为 的概率为 。确定 后,计算 为 与 ( 为 的子节点)的众数(保证子节点个数为偶数个,即参与计算众数的点数为奇数)。求 为 的概率。 次更改某个点 的 ,修改间不独立。(N<=2e5,Q<=5e4)
某些人一看到多次修改就上重链部分、动态 DP。思维僵化了。
一般的动态 DP 所用的矩阵显然常数过大,还不容易维护。
应当注意到动态维护 DP 值的困难性,考虑离线。离线后可以对每个点建立时间轴,存储每个时间段分别是什么值。
考虑转移到 ,记参与众数计算的有 个。发现要合并一堆时间轴。观察:
- 这时很可能出现一个段数多一堆段数少的情况,直接分治合并就错了。
- 合并的中间结果不应是“每个时间段的多项式”。
也就是说,应该是递归到一段区间,一部分时间轴在该区间内概率不变。可以想到线段树合并,但是是多个线段树合并。
一部分时间轴在该区间内概率不变,即这些时间轴在该区间是叶子。我们的策略是,挑出叶子,合并信息,递归下传,直至非叶子不超过一个。这个过程维护一个多项式信息。
非叶子不超过一个时,合并答案,某时间点是 的概率从 变为 乘上有 个 的概率,加上至少有 个 的概率。线段树上维护 mul,add 标记。
一个细节是维护的多项式信息次数不能太高,最多不超过当前非叶子个数,因为太低次数的不可能对答案有贡献。低次数的系数抹为 再整体平移。这时为了算前缀和,必须最开始就乘上一个 。
。前者是乘 个一次多项式,后者是线段树合并。
skip2004 的 std。https://qoj.ac/submission/413331
合集:
题解
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?