专栏文章

U646757 题解

个人记录参与者 2已保存评论 1

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
1 条
当前快照
1 份
快照标识符
@mlgxv2si
此快照首次捕获于
2026/02/11 02:32
上周
此快照最后确认于
2026/02/11 02:32
上周
查看原文
256768\color{black}{*25}\color{red}{6768} .
1792364\color{black}{*179}\color{red}{2364} .
value:+value:+\infty
考虑操作分块,每 O(B)O(B) 个操作分一个块,定义 QiQ'_i 为第 ii 个操作所在块, WiW_i 为第 ii 个块中第一个操作的编号, EiE_i 为第 ii 个块中最后一个操作的编号。
枚举 i[1,QQ]i\in [1,Q'_Q] ,定义 S{1,N+1}+j=WiEi{Lj,Rj+1}S\gets \{1,N+1\}+\sum\limits_{j=W_i}^{E_i}\{L_j,R_j+1\} ,将 SS 去重并排序,得到 SS'
现在我们定义 beli=max1j(S1),Sji(j)bel_i=\max\limits_{1\le j\le (|S'|-1),S'_j\le i}(j)
回想一下原题(P9530)的思路,我们需要求出一类支配点对,并求出它们的覆盖集大小,这些支配点对形如 (l,r)(rl2)(l,r)(r-l\ge 2) ,需要满足的条件是 (i=l+1r1ai)<min(al,ar)(\sum\limits_{i=l+1}^{r-1}a_i)<\min(a_l,a_r) ,容易发现满足该条件的必要不充分条件是 (maxi=l+1r1ai)<min(al,ar)(\max\limits_{i=l+1}^{r-1}a_i)<\min(a_l,a_r) 。我们有经典结论:
  • 结论一:满足 (maxi=l+1r1ai)<min(al,ar)(\max\limits_{i=l+1}^{r-1}a_i)<\min(a_l,a_r)(l,r)(l,r) 对数为 O(n)O(n) 对。
定义 li=maxj<i,aj>ai(j),ri=minj>i,aj>ai(j)l_i=\max\limits_{j<i,a_j>a_i}(j),r_i=\min\limits_{j>i,a_j>a_i}(j)
我们考虑对于每个支配点对 (l,r)(l,r),令 warg maxi=l+1r1(ai)w\gets \argmax\limits_{i=l+1}^{r-1}(a_i) ,容易发现 l=lw,r=rwl=l_w,r=r_w ,那么我们大胆一点,给出结论:
  • 结论二:满足 (maxi=l+1r1ai)<min(al,ar)(\max\limits_{i=l+1}^{r-1}a_i)<\min(a_l,a_r)(l,r)(l,r) 点对和所有 li,ril_i\neq\varnothing,r_i\neq\varnothing(li,ri)(l_i,r_i) 点对一一对应构成双射。
证明略。
那么这样子咱们就可以快速找出全局或区间内的支配点对了,定义 Li=Si,Ri=Si+11L_i=S'_i,R_i=S'_{i+1}-1
那么现在支配点对分为 bellbelrbel_l\neq bel_r 的和 bell=belrbel_l=bel_r 的。
考虑先做 bellbelrbel_l\neq bel_r 的部分,我们有一个结论:
  • 结论三:可能出现支配点对的 (bell,belr)(bel_l,bel_r) 点对一共只有 O(B)O(B) 个。
  • 证明:定义 sumi=j=LiRiajsum_i=\sum\limits_{j=L_i}^{R_i}a_j ,满足要求的 (bell,belr)(bel_l,bel_r) 必满足 j=bell+1belr1(sumj)<min(sumbell,sumbelr)\sum\limits_{j=bel_l+1}^{bel_r-1}(sum_j)<\min(sum_{bel_l},sum_{bel_r}) ,这样子就可以用结论一进行论证结论三。
还是运用结论二找出可能的 (bell,belr)(bel_l,bel_r) 点对,对于这部分内部具体的点对如何寻找,我们还有结论:
  • 结论四:(l,r)(bellbelr)(l,r)(bel_l\neq bel_r) 合法的必要不充分条件是 (j=l+1Rbellaj)<al(\sum\limits_{j=l+1}^{R_{bel_l}}a_j)<a_l(j=Lbelrr1aj)<ar(\sum\limits_{j=L_{bel_r}}^{r-1}a_j)<a_r
  • 结论五:对于同一个块中,满足结论四中讲述的任意一个条件的 iiO(logV)O(\log V) 个。
  • 结论六:对于大部分的支配点对,它们都满足在修改前也是支配点对,不满足的只有每个块 O(1)O(1) 个,且可以 O(1)O(1) 找出这些不满足的点对。
对于每一个可能的 (bell,belr)(bel_l,bel_r) ,可以在 O(logV)O(\log V) 的时间内用基数排序大力做完寻找支配点对的部分。
对于 bell=belrbel_l=bel_r 的部分,我们还有结论:
  • 结论七:rl3r-l\ge 3 时,如果 (l,r)(l,r) 是支配点对,它一定在修改前也是支配点对。证明略。这部分所覆盖的面积可以 O(n2B+nf(nB,B))O(\frac{n^2}{B}+nf(\frac{n}{B},B)) 算出来,具体的方法是整体分块,大量分块科技处理,其中 f(n,m)O(n2m2B2B22w+B2B22w+mB2)f(n,m)\gets O(\frac{n^2m^2}{B^2B_2^2w}+\frac{B^2B_2^2}{w}+mB_2) ,其中 Bn,B2mB\gets \sqrt{n},B_2\gets \sqrt{m}
结合各部分,这题就做完了,复杂度 O(n2B+nBlogV)O(\frac{n^2}{B}+nB\log V)BBO(nlogV)O(\sqrt{\frac{n}{\log V}}) 时最优,复杂度是 O(nnlogV)O(n\sqrt{n\log V})

评论

1 条评论,欢迎与作者交流。

正在加载评论...