2025 --炼石计划-- 11 月 13 日 --NOIP 模拟赛 #20
2025 --炼石计划-- 11 月 13 日 --NOIP 模拟赛 #20
T1 邻间的骰子之舞
签到题
显然答案具有二分性,考虑二分答案。注意到每次有意义的复制会使长度翻倍,即最多复制 \(60\) 次,而粘贴则类似一个乘积的形式,check 时可以枚举复制次数,此时则能知道粘贴次数,由和定平分时积最大得到最大长度。
时间复杂度 \(O(\log^3 n)\)。
T2 星海浮沉录
签到题
注意到每个颜色的贡献只有最大空段,用 set 和线段树维护即可。
时间复杂度 \(O(n\log n)\)。
T3 勾指起誓
概率DP,计数题,FMT,sosDP
这个东西直接做( 无论是 DP 还是直接计数 )都非常困难,因为有一些信息很难刻画。
考虑简化一些信息,可以使用概率 DP ,即每次等概率选择一道题进行回答。
这样就能刻画出一种不用考虑全部都能回答上问题,以及全都回答不上问题的情况了。
考虑状压 DP,朴素实现至多到 \(O(3^m)\)。
写出转移式子,考虑优化。
设 \(f_S\) 表示还剩下 \(S\) 这个集合中的人的概率,\(tot_S\) 表示与 \(S\) 有交且不包含 \(S\) 问题的数量,\(c_T\) 表示问题集合等于 \(T\) 的数量。
则有转移
\[f_S=\sum_{A\bigcap B=S}\frac{f_A}{tot_A}c_B
\]
先暂时不考虑 \(tot_S,c_B\) 怎么求。
回到转移,注意到转移是与卷积的形式,可以使用 \(FMT\) 或者 \(FWT\) 优化,但是自己卷自己,并且最初态是 \(f_U=1\) ,所以得按每个 \(popcount\) 从大到小卷一次( 因为这样才能保证每个值的前继状态是已知的 )。
所以时间复杂度瓶颈在 \(m\) 次卷积,为 \(O(m^22^m)\)。
jijidawang 说离线卷积能优化至 \(O(m2^m)\)。
T4 第八交响曲
双调排序