2.7 それは命の证 ——ARC113~115
今天的赞助歌曲是,Blessing!
Blessings for your birthday
Blessings for your everyday
最後の一秒まで前を向け
ほらここをじっと见つめてみて
最高の味方が映ってるでしょ?
それは命の证
还有很多我很喜欢的歌词。歌就不多介绍了。进入正题。
ARC113
ARC113D Sky Reflector
对于 \(n,m\) 都 \(\neq 1\) 时条件为 \(\max a\le \min b\)。直接求就行了。
ARC113E Rvom and Rsrev
分亿些情况讨论。如果全相同或 \(a...ab..b\) 就做完了。否则如果 \(s_n=b\) 且 \(a\) 数量为偶数那么就做完了。否则如果后缀 \(b\) 数量 \(\le 2\) 也做完了。否则如果没有后缀 \(b\) 那么这些 \(b\) 就都能用上,否则一定会少两个 \(b\)。考虑最大化 \(a\) 的数量。\(a\) 会划分成若干连续段。大小为 \(1\) 的连续段可以互相消掉。大小 \(>1\) 的连通块可以消一次让它们连起来。然后注意要特殊看一下最后那个连续段大小为 \(1\) 的时候,且减少 \(b\) 的那次消去操作不能减少 \(a\) 的连通块,那么就需要额外再多用一步。
ARC113F Social Distance
目前唯一一道我还没写的题。感觉很牛逼。首先考虑 \(\ge w\) 的概率。那么就要求 \(a_{i+1}-a_i\ge w\)。修改一下,变成 \(b_i=a_i-iw\),\(b_i\) 递增。\(b_i\) 的界为 \([x_{i-1}-wi,x_i-wi]\)。容易发现本质不同的,影响这些界的相对大小排序的只有 \(O(n^2)\) 种。于是我们对每一类进行 DP,DP 时需要记录一个多项式,然后最后再积分。
ARC114
ARC114D Moving Pieces on Line
容易发现,向左走的棋子,与向右走的棋子,之间的路径不会相交。于是考虑离散化后 DP:\(f(i,j,0/1)\) 表示前 \(i\) 段,第 \(i\) 段被向左/右走的棋子覆盖了 \(j\) 层。转移是容易的。
ARC114E Spread of Information
先二分,然后再进行贪心。\(f_u\) 表示 \(u\) 子树中选点个数,\(h _u\) 表示子树中关键点到 \(u\) 的最小距离,\(g _u\) 表示子树中未满足的点到 \(u\) 的最大距离。直接做即可。
ARC114F Deque Game
考虑一下只有一堆的方案。容易发现长度为奇数那么后手获利,长度为偶数那么先手获利。于是一定先去尝试抢偶数的先手,然后把偶数变为奇数的情况。于是一定是先轮流挑偶数的先手步(删最左还是最右),之后所有都是长度为奇数了。长度为偶数不会改变先后手。所以就做完了。
ARC115
ARC115D Odd Degree
注意到对于一个连通块,非树边随意选,然后假如我们钦定除了根之外的其余点的度数奇偶性,那么树边是否被选择,以及根的奇偶性都能被确定。分析一下,发现一个大小为 \(s\) 的连通块,有 \(x\) 条非树边,产生 \(y\) 个奇度点的方案数为 \(2^x(\binom{s-1}{y-1}+\binom{s-1}{y})\)。于是对每个连通块都算出结果,然后再卷积一下即可。易知总复杂度 \(O(n^2)\)。
ARC115E LEQ and NEQ
考虑对 neq 限制进行容斥。容斥结果会形成几个连续段。\(f_i\) 表示考虑 \([1,i]\) 的答案。那么 \(f_i=-\sum_j f_{j-1}\max(a[j,i])\)。考虑直接用单调栈来维护这个即可。
ARC115F Migration
首先一定存在一个谷局面,即过程中 \(\sum h\) 最小的局面。于是我们一方面从初始局面走到谷局面,一方面从最终局面走到谷局面。但是这个谷局面是不确定的。
考虑一些贪心:每次找到一个 \(u\),把它挪到一个 \(h_v\) 比自己小的位置。容易发现,令 \(w_{u,v}\) 表示路径上最大值,我们分步移动,每次移 \(h_v<h_u\) 且 \(w_{u,v}\) 最小的一定不劣。于是我们开两个堆,维护两个局面的不断的这样操作,并尽可能贪心做决策使得上界增长小,直到两个局面相同。