『模拟赛 1』Day3

Round 1

1.1 得分

105。rk 倒 1。

1.2 BB

键盘上下左右和回车回格都坏的,只能用屏幕键盘。

也一定程度影响了心态,导致不想打暴力甚至。

但是题感觉真没那么难,破防了一会过后觉得自己不能继续颓了。

把基础打牢。套路积累已经够了,回来卷一些基础的东西吧。比如 CF 前面的题。

1.3 Solution

1.3.1 A

翻转操作容易想到中间的是不会变的,但是由于位置必须固定而每次无法由中间向外扩展,所以放弃。

还是尝试顺序构造,能不能按顺序从 \(1\)\(n\) 一次归位?

有一个 \(w=2n\) 的做法,假设当前对于位置 \([1, p]\) 已经有序,下一个对 \(p+1\) 排序,那么我们考虑找到他的位置 \(id\),让 \([p+1,id]\) 成为一段,\([1,p]\) 每段长度为 \(1\)\([id+1,n]\) 单独为一段。

先 reverse 1 次,那么后缀就是 \([p+1,1]\) 的形式,这时候 reverse 回去成功归位了。

优化是容易的,对于第 2 次 reverse,考虑尽量复原 \(p+2\),仿照上面操作就可以了。

赛时想到过后就直接每次把 \(p+1,p+2,p+3...\) 每次能找的都全部找完了,当时由于心请不好就没有验证操作上限了,还是很危险的。

注意特判 \(a_n=1\),此时第一次操作会使得 \(k=1\)

1.3.2 B

这个 \(\max \min\)\(+-\) 很容易让人联想到枚举边或者 wqs 二分之类的,但是数据范围直接劝退。赛时也一直想的这些。

属于是被诈骗了,这些可以全部放到最短路上记录,此题的精妙之处就在于加的是 min 减的是 max,任何的改变都会违背最短路的性质。(你要考虑一条路径 max 和 min 被错算的情况,一定要保证算错只会比答案更大才能这样做,和之前一道晚测有点像,只不过那道是不二分的 wqs)

具体地,记录当前 min 和 max 是否用了即可,建边考虑拆虚点,转移类似 dp。

1.3.3 C

模拟是非常不好做的。

有一个比较显然并且重要的转换:可以通过每个位置的下落总时间计算出它的最终位置。

然后就是连向最下面一行和下面的联通块的一个最短路,也可以用差分约束理解。

做完了兄弟。

1.3.4 D

全是单调性。

线段问题经典之消除包含,建立偏序关系。

【1】:一组的 2 只兔子会在一起的条件是他们排序后相邻。

【2】:选的桌子也有单调性。

将 【1】 和 【2】 结合,可以得到每个兔子的决策单调性。

分治决策单调性,每次计算 \(mid\) 选桌子 \(i\)\(m\) 组兔子中的权值 sum。

考虑把 \(m*2\) 个兔子全部拿出来,和桌子 \(i\) 的关系就是绝对值和,经典的拆式子套 lower_bound。

posted @ 2024-08-10 21:25  LCat90  阅读(7)  评论(0编辑  收藏  举报