闲话8.15

发布时间 2023-08-15 22:13:58作者: crimson000

今天上午打了一场模拟赛,垫底了。

T2 是个原,搞了十多分钟再写了个拍拍上就扔了。然后我也不知道为什么刚了 2 个多小时 T1?,但是好歹最后刚出来了,但是 T3 也就没时间想了,就差最后推出来那个式子了。T4 直接扔了。

最终得分:\(100+100+0+0=200\),被暴打了。

今天下午把模拟赛的题改了,然后就把暑假集训的游记给写了,地址放了,写的不太好。

晚上吃完饭就收拾东西走人了,jimmy 也是真他妈不会考虑,三个人那么多行李让打车走,真搞笑。但是 jimmy 又会考虑,帮我们带走几件行李,无语???

晚上回南校收拾了东西,顺便和初中组面了基,舒服???

!()[https://gitcode.net/crimson000000/picture/-/raw/master/博客用图/屏幕截图_2023-08-15_214834.png]

累死了,不想写了。


推歌:死奏怜音、玲珑ノ终 -nayuta

也是八字经典了,幽幽子的歌,算是比较早就进入我歌单的歌了,现在听还是觉得好听,有那种(无法形容)的意境。


P5999

之前做一道类似的题的时候就想把这题做了,但是当时咕了???

本题可以用一个比较套路的做法:从 \(1\sim n\) 依次放,并同时维护连通块的数量。我们设 \(f_{i, j}\) 为已经放了 \(1\sim i\),当前有 \(j\) 个连通块时的方案数。

我们不考虑防止 \(s\)\(t\) 的情况,我们考虑分情况讨论。

  1. 当前这个点新开一个连通块

这时我们一共有 \(j-1\) 个个连通块,因此我们有 \(j\) 个位置可以新加连通块。但是我们要注意当放入 \(s\)\(t\) 后两边就无法放置连通块,因此我们的转移为:

\[f_{i, j}\leftarrow f_{i-1, j-1}\times (j-[i>s]-[i>t]) \]

  1. 当前这个点去合并两个连通块

我们合并两个连通块会使得连通块个数减少一,同时假设我们有 \(j+1\) 个连通块,我们就有 \(j\) 个位置可以用来合并。因此转移为:

\[f_{i, j}\leftarrow f_{i-1, j+1}\times j \]

  1. 当前这个点放到连通块两侧

这个情况不合法,因为如果考虑这个情况会导致出现 \(a_{i+1} > a_i > a_{i-1}\) 这种情况出现。因此不能转移。

而对于 \(s\)\(t\) 的转移,我们只需要考虑新开或者放到某个连通块一边即可。

时间复杂度 \(O(n^2)\)


B 站找的 fumo 图