2020-2021:teams:farmer_john:jjleo:codeforces_round_609_div._2_virtual_participation
这是本文档旧的修订版!
rank:1074
A
B
题意:给出序列$a$和$b$,求一个最小的$x$使得$a$中每个元素$a_i=(a_i+x) \mod m$后可以通过排列使其和$b$相等,保证存在答案。$(1 \leq n \leq 2000, 1 \leq m \leq 10^9, 0 \leq a_i,b_i < m)$
C
D
题解:黑白染色,答案是两者颜色的最小值。因为每一个多米诺骨牌一定是占据一个黑格和一个白格,因此这是上界。我们将多余颜色的格子从某一列的顶端删掉使得两种格子数量相等,下面证明两种格子数量相等时一定可以铺满:从最矮的一列开始以此进行如下操作,设它右侧一列的高度为$x$,在满足这一列高度$\ge x$的情况下不断铺$1 \times 2$使得这一列的高度减少;如果这一列的高度和右侧一列的高度相同,则可以直接将这两列全部删去,否则不做任何操作考虑下一列,此时这列的高度一定比右侧一列高$1$,整个操作过程中始终保持两种格子数量相等。这样下去如果存在没有被删去的方格,此时每一列的高度一定为$n,n-1,\ldots,2,1$,可以发现此时两种颜色的格子数量不等,因此不可能达到这种状况,最终一定可以全部铺满。
E
题意:给定一个$1$到$n$的排列,定义$f(i)$为最少交换两个元素的次数使得$1,2,\ldots,i$连续出现,求$f(1),f(2),\ldots,f(n)$。$(1 \leq n \leq 200\,000)$
2020-2021/teams/farmer_john/jjleo/codeforces_round_609_div._2_virtual_participation.1593063573.txt.gz · 最后更改: 2020/06/25 13:39 由 jjleo