闲话9.9

发布时间 2023-09-09 21:26:20作者: crimson000

今天摆了?

上午姬芈给我们找了个模拟赛,结果是 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 要求,发今天的图: