闲话9.9
今天摆了😓
上午姬芈给我们找了个模拟赛,结果是 J 组的😅。还是看了看,然后 40min AK 了🥰,题水的不行,最后 rk1😅,但是要考 S 组的人去考 J 真的不丢人吗😓。
下午写期望去了。还有个家长加我 qq 问我哪个年级😨,糊弄几句过去了。
晚上写博客去了。
haosen 本性不改
你画我猜精选
答案:狮子
推歌:タイムパラドックス -あよ/森羅万象
Ayo 唱的好好听啊。
P4853
我们可以注意到改判持续的时间很短,因此我们可以直接把它记录到状态里面。
因此我们设 \(f[i, j, k]\) 为当前该打第 \(i\) 个音符,已经有了 \(j\) 个 combo,改判还有 \(k\) 个音符结束的期望得分。我们注意到加分的操作只和 combo 数有关,因此我们可以预处理出一个数组 \(sc[i]\),为当 combo 数为 \(i\) 时期望加的分数。
转移时我们就看当前 \(a_i\) 和 \(k\),当 \(a_i=0\) 或 \(k=0, a_i=1\) 的情况很好处理,而对于其他情况,我们就要考虑当前是否有可能触发改判操作。
首先一个直观的想法就是枚举集合,看触发哪些改判操作。这样转移的复杂度会达到 \(O(2^{\mathrm{judge}})\)。我们考虑优化。
我们可以注意到当一个 \(t\) 更大的改判执行时,\(t\) 小的改判执不执行已经不重要了,因此我们可以先对改判操作排序,然后预处理出当某个改判作为 \(t\) 最大的改判执行的概率。而我们在转移的时候我们就可以枚举那个改判持续的时间是多少,这样只用枚举 \(t\) 个数就可以完成转移。
时间复杂度 \(O(n^2t^2)\)。
应 haosen 要求,发今天的图: