2025.2.21

2025.2.21

上午常州中学模拟赛,一如既往的码力场。

game

显然确定起点后,每一步选哪个球都是确定的。

考虑 \(k\) 步能到 \(p\) 的起点 \(x\) 有哪些要求。

  1. \(k-1\) 步形成 \([p+1,p+k-1]\)\([p-k+1,p-1]\) 的连通块(下面以 \([p+1,p+k-1]\) 为例)
  2. \(a_{p+k}>max(a_{[p,x-1]})\),否则会走到 \(p+k\)
  3. \(max(a_{[p,x]})>max(a_{[x+1,p+k-1]})\),否则不到 \(k\) 步就会走到 \(p\)

找到 \([p,p+k-1]\) 的最大值位置 \(mxp\)

  • \(a_{mxp}<a_{p+k}\),则 \(x>mxp\) 的位置都可以
  • 特判一下 \(x=mxp\) 行不行

容易用 ST 表维护,时间复杂度 \(O(n\log n)\)

graph

发现最后一定是选“极小”的矩形,即没有被其他矩形包含的。

找出这些小矩形和可以匹配的大矩形,费用流跑二分图最小权完美匹配即可。

因为“极小”矩形最多是 \(n^2\) 级别的,故网络流复杂度极低。

问题在如何找到这些“极小”矩形。

暴力枚举所有边找到所有交出的矩形,再暴力判断包含关系,看起来好像是 \(O(n^8)\) 的,但实际卡不到这么多,完全可以通过。

题解是离散化后建出网格,同一个“极小”矩形内的小方格一定是由相同的大矩形集合覆盖的,做一遍染色 + bfs 同色连通块即可。

MX-Day7-T2 seq

最终序列一定是一段 0 + 一段 1

枚举分界点 \(x\) ,则一定选 \([1,x]\) 所有 0\([x+1,n]\) 所有 1

如何保证这样选一定是最长的?

即不存在 \([p,x]\) 使得 \(ct1[p,x]>=ct0[p,x]\),且不存在 \([x+1,q]\) 使得 \(ct0[x+1,q]>ct1[x+1,q]\)

不妨认为 0 的权值为 \(-1\)1 的权值为 \(1\),则上述要求等价于 \(\min pre_q\ge0\)\(\max suf_p <0\)

于是可以 \(f_{i,j}\) 表示从 \(i\) 开始 \(\min pre_p=j\) 的计数。

\(XY\) 拆成 \((X-Y)Y+Y^2\),于是只需要分别考虑 01 的个数就可以。

注意:\(E(Y^2)\neq E(Y)^2\)

所以 dp 值要记录三个,分别是 \(s_1=\sum Y\times ct_Y,s_2=\sum Y^2 \times ct_Y,s_3=\sum ct_Y\)

转移时,当 \(Y\to Y+1\)\(s_1\to s_1+s_3\)\(s_2\to s_2+2s_1+s_3\)\(\sum (Y+1)^2=\sum Y^2 + 2\sum Y + \sum 1\)

每次加入一个数,计算影响,刷表。

写成一坨...

posted @ 2025-05-08 17:28  Cindy_Li  阅读(10)  评论(0)    收藏  举报