ZR 2025 NOIP 二十连测 Day 9

拜谢良心出题人。拜谢良心出题人。拜谢良心出题人。拜谢良心出题人。


25noip二十连测day9

链接:link
题解:题目内

时间:4h (2025.10.27 14:00~18:00)
题目数:4
难度:

A B C D
\(\color{#F39C11} 橙\) \(\color{#52C41A} 绿\) \(\color{#52C41A} 绿\) \(\color{#BFBFBF} ?\)
*1000 *1600 *1900 *?

估分:100 + 100 + 40 + 5 = 245
得分:100 + 100 + 40 + 10 = 250
Rank:67/130


场祭

下发文件 80MB?这么多大样例 /jy,拜谢良心出题人。

读题。

A 签。

B 好像并不困难,考虑冰茶姬维护,想了想发现可以给每个点染色,然后操作二就是同连通块内全部置为同一颜色,然后发现这个东西可以再开个冰茶姬维护,于是就做完了,只不过用了两只不同的冰茶姬有点神秘(?

开 C,思考半天不会,想去打暴力的时候忽然发现可以从编号连续入手,记 \(a_i,b_i\) 分别为 \(i\) 从出边指向的最大 / 最小编号,问题就可以转化成求满足 \(\max _{i=l} ^r a_i \le r \land \min _{i=l} ^r b_i \ge l\) 的区间 \([l,r]\) 方案数,似乎是线段树维护?但是发现左端点不会处理,右端点也不会处理!

不会了,写了 \(x<y\) 的性质跑路了。

D 太困难了,推了半天才推出 \(n=2\) 的正解和 \(n=3\) 的错解。

然后一提交发现 \(n=3\) 的错解再没过样例的情况下过了那个点??


补题

补 C,哦原来真是分治!赛时被我 1s 否定掉了来着(

考虑当前分治区间 \([L,R]\),把限制拆到 \([L,mid]\)\((mid,R]\) 两个区间上,则 \([l,r]\)​ 合法需要满足:

  1. \(\max _{i=l} ^{mid} a_i \le r\)
  2. \(\min _{i=l} ^{mid} b_i \ge l\)
  3. \(\max _{i=mid+1} ^r a_i \le r\)
  4. \(\min _{i=mid+1} ^r b_i \ge l\)

注意到限制 \(2,3\) 只与一个区间端点有关,所以可以先扫一遍判掉,直接不考虑不满足这些条件的区间。

然后限制 \(1,4\) 是类似的,所以只考虑限制 \(1\) 怎么做。发现这个是容易的,因为在一个端点(即 \(mid\)\(mid+1\))确定的时候,另一个端点在逐渐向外扩展的时候得到的 \(\max a_i\) 是单调不减的,\(\min b_i\) 是单调不增的,所以可以枚举 \(l\),然后双指针找出 \(l\) 可以对应的 \(r\) 的区间,就好了。


天依宝宝可爱!

posted @ 2025-10-27 18:11  little__bug  阅读(31)  评论(0)    收藏  举报