Loading

3.8 CW 模拟赛 T2. 沉默乐团

前言

\(\rm{T1}\) 没想到并查集实际上是糖了
但是差点完全想不到正解实际上是更糖的

其实我们只要在找性质的时候发现其不相关性即可
具体的, 只要你前面位置该占得占了即可
但是害怕害怕, 差点信心碎了满地, 害怕害怕

然后一个警示就是策略太复杂直接丢掉肯定假, 也就是换思路的必要性吧
从这上面看出来自己推确实好方法, 所以也没啥问题吧, 就是性质太复杂考虑换的事情

听讲听讲听讲听讲听讲
问问问问问问问问问问
推推推推推推推推推推

每日 \(\rm{C}\) 的时间必须要抽出来, 长下课就听音乐看 \(\rm{C}\) 得了, 一是可以休息, 二来也培养第一步找性质的能力
主要是本能不够, 找到的性质全他妈屁用没有, 练一下应该就好了

写了这么多, 还是先把这个题看一下

思路

不难发现只需要考虑不交的真前缀和真后缀之和不等

不妨设真前缀的和组成的集合为 \(\mathbb{P} = \{\textrm{pre}_1, \textrm{pre}_2, \textrm{pre}_3, \cdots, \textrm{pre}_{n - 1}\}\) , 对应的设真后缀的和组成的集合为 \(\mathbb{S} = \{\textrm{suf}_n, \textrm{suf}_{n - 1}, \textrm{suf}_{n - 2}, \cdots, \textrm{suf}_2\}\)
显然的, \(\mathbb{P}\), \(\mathbb{S}\) 中是单调递增的

如何判断这两个集合不重
不难发现因为单调性, 可以双指针维护

发现暴力的瓶颈其实在于没能在处理同时判定合法性, 以及没有利用到不相关性
考虑在 \(\rm{dp}\) 过程中就确保合法性
\(f_{l, r, k}\) 表示 \(\mathbb{P}\) 集合放到了第 \(l\) 个, \(\mathbb{S}\) 集合放到了第 \(r\) 个, 现在 \(\textrm{pre}_l - \textrm{suf}_{n - r + 1}\)\(k\) 的方案数

然后只要当前 \(k = 0\) 了别想活着, \(l + r \leq n\) 是必须的
只要 \(k < 0\) , 当前就更新 \(r\) , 否则更新 \(l\)

复杂度在 \(\mathcal{O} (n^2m^2)\) , 可以通过前缀和优化做到 \(\mathcal{O} (n^2 m)\)

总结

这个真不太好想

\(\rm{dp}\) 题往往要找到

  • 前后的无后效性\((\)不相关性\()\)
  • 在处理同时判定合法性

一类计数 \(\rm{dp}\) 同时保证合法性的问题

\(\rm{dp}\) 刷表不好优化, 转化成递推之后再优化

posted @ 2025-03-09 19:44  Yorg  阅读(27)  评论(0)    收藏  举报