『模拟赛 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。