CWOI 6.28 考试题解 ABC

A 致敬传奇捆绑测试题目

打表题。

先打出最小的排列,发现是 \(\begin{cases} [1],n = 1 \\ [2,1],n = 2 \\ [3,1,2,\ldots,n],\text{Otherwise} \end{cases}\)

然后再去打答案表,发现排除前 \(3\) 个特判之后,剩下的以 \(8\) 为一个周期,并且有如下规律:

\[\text{let } x = 2(8\lfloor \frac{n - 1}{8} \rfloor + 1) + 8 \\ Ans = \begin{cases} x,n \bmod 8 = 1 \vee n \bmod 8 = 2\\ 6,n \bmod 8 = 3 \\ 4,n \bmod 8 = 4 \\ x + 12,n \bmod 8 = 5 \vee n \bmod 8 = 6 \\ 2,n \bmod 8 = 7 \\ 0,n \bmod 8 = 0 \end{cases} \]

做完了。

B 串串

赛时想到了 \(\frac{1}{4}\) (?)

因为字符集不大,所以考虑枚举最大最小的字母分别是什么。

我们给现在钦定的最大字符赋值为 \(1\),最小字符赋值为 \(-1\),然后求最大子段和。

但是这么做是 \(\Omicron(n|\Sigma| ^ 2)\) 的,考虑优化,我们直接记录每个字母的位置,然后归并起来,在归并过程中计算贡献。

需要注意,最小值必须出现,所以可以直接将 \(dp\) 初始值设为 \(-1\)

C 计算几何

首先有个关键的性质:

\(L _ i = \max j,j \lt i \wedge h _ j \le h _ i,R _ i = \min j,j \gt i \wedge h _ j \le h _ i\),则选取的点对一定是 \((L _ i,i)\)\((i,R _ i)\)

写一下证明:

考虑反证法,设最优决策是 \((i,j)\),且 \(i \neq L _ j \wedge j \neq R _ i\)

\(h _ i \le h _ j\),则有 \(L _ j \gt i\),即 \(w _ j - w _ {L _ j} \lt w _ j - w _ i\),并且有 \(h _ i + h _ {L _ j} \le h _ i + h _ j\),所以一定不如 \(L _ j\) 优。

\(h _ i \gt h _ j\) 类似。

然后转化一下题意:有 \(2n\) 个点 \((x,y)(x \lt y)\),每个点有权值 \(v(x,y) = (w _ y - w _ x)(h _ x + h _ y)\),一个询问即是求 \(\min \limits _ {l \le x \lt y \le r} v(x,y)\)

典中典二维数点,要求单 \(\log\) 直接扫描线,树状数组维护后缀 \(\min\),对于修改操作,把 \(x\) 挂到 \(y\) 上,遇到就在 \(x\) 位置更新 \(v\),询问把 \((l,id)\) 挂到 \(r\) 上,遇到一个就查询 \(l\) 的后缀 \(\min\)

posted @ 2025-06-29 19:11  xguagua_233  阅读(8)  评论(0)    收藏  举报