【Atcoder】AGC032 B-F简要题解

B.Balanced Neighbors

构造完全图。
n n n为偶数,删去 i + j = n + 1 i+j=n+1 i+j=n+1的边;否则删去 i + j = n i+j=n i+j=n的边。


*C.Three Circuits

直接dfs强行求出答案上下界正确性是错的,我的瞎构造也没有发现某种特殊情况实际上可能会wa。

首先把存在度数为奇的点的图判掉。

讨论如下:

  • 存在点度数 ≥ 6 \geq 6 6,必然有解(可以拆成至少三个环)
  • 存在至少 3 3 3个度数为 4 4 4的点,也必然有解(考虑一个经过了三个度数为 4 4 4的点的欧拉回路一定可以从中间拆成2个)
  • 对于存在 2 2 2个度数为 4 4 4的点,下图这种情况就凉了。判断其中一个度数为 4 4 4的点是否存在不经过另一个的欧拉回路即可即可。
    【Atcoder】AGC032 B-F简要题解_第1张图片
  • 否则必然无解。

*D.Rotation Sort

操作相当于:花费 a a a的代价将某个数向右放到任意位置,花费 b b b的代价将某个数向右放到任意位置。

考虑固定一个不操作的位置序列 a 1 , a 2 , . . . , a m a_1,a_2,...,a_m a1,a2,...,am:

  • p a 1 < p a 2 < . . . < p a m p_{a_1}<p_{a_2}<...<p_{a_m} pa1<pa2<...<pam
  • 对于 a i < x < a i + 1 a_i<x<a_{i+1} ai<x<ai+1,它的操作是固定的——一次性把 x x x放到满足 p a j < p x < p a j + 1 p_{a_j}<p_x<p_{a_{j+1}} paj<px<paj+1的区间 ( a j , a j + 1 ) (a_j,a_{j+1}) (aj,aj+1)里面。

考虑按值从 1 − n 1-n 1nDP不操作的位置,设 d p [ i ] [ j ] dp[i][j] dp[i][j]表示处理完 i i i,上一个不操作的位置为 j j j的最小代价,设 q i q_i qi为值 i i i p p p中的下标,转移:

  • q i > q j q_i>q_{j} qi>qj d p [ i ] [ i ] = min ⁡ ( d p [ i ] [ i ] , d p [ i − 1 ] [ j ] ) , d p [ i ] [ j ] = min ⁡ ( d p [ i ] [ j ] , d p [ i − 1 ] [ j ] + b ) dp[i][i]=\min(dp[i][i],dp[i-1][j]),dp[i][j]=\min(dp[i][j],dp[i-1][j]+b) dp[i][i]=min(dp[i][i],dp[i1][j]),dp[i][j]=min(dp[i][j],dp[i1][j]+b)
  • q i < q j q_i<q_j qi<qj d p [ i ] [ j ] = min ⁡ ( d p [ i ] [ j ] , d p [ i − 1 ] [ j ] + a ) dp[i][j]=\min(dp[i][j],dp[i-1][j]+a) dp[i][j]=min(dp[i][j],dp[i1][j]+a)

*E.Modulo Pairing

结论题,证明感性。

a a a按升序排序,存在一个分界线 l ( 0 ≤ l ≤ 2 n ) l(0\leq l\leq 2n) l(0l2n),满足:

  • 对于 1 < i < l 1<i<l 1<i<l a i − 1 + a i < M a_{i-1}+a_i<M ai1+ai<M
  • 对于 l ≤ i < 2 n l\leq i<2n li<2n a i + a i + 1 ≥ M a_i+a_{i+1}\geq M ai+ai+1M
  • ( l − 1 , l ) , ( l − 2 , l + 1 ) . . . (l-1,l),(l-2,l+1)... (l1,l),(l2,l+1)...匹配,一定能得到最优答案

二分找到 l l l即可

(可以感性理解为模 M M M意义下, 0 0 0~ ⌊ M 2 ⌋ \lfloor\frac M2\rfloor 2M − 1 -1 1~ − ⌊ M 2 ⌋ -\lfloor\frac M2\rfloor 2M答案最小)
(也可以理解为 l l l左移右移答案都不会更优)


*F.One Third

概率期望题(需要求微积分的那种,一眼滚粗)

神仙模型转化

把第一刀切的位置看做 0 0 0,把所有位置分别染成三种颜色: [ 0 , 1 3 ) [0,\frac 13) [0,31)为红色, [ 1 3 , 2 3 ) [\frac 13,\frac 23) [31,32)为绿色, [ 2 3 , 1 ) [\frac 23,1) [32,1)为蓝色。

位置模 1 3 \frac 13 31,转化成新的等价模型:
长度为 1 3 \frac 13 31的线段上, 0 0 0处为红色, 1 3 \frac 13 31处为蓝色,其它点在 ( 0 , 1 3 ) (0,\frac 13) (0,31)内颜色和位置均随机。

问题转化成了,任意取 n − 1 n-1 n1个点,求最近的异色点对距离(包括两个端点)。

积分算出长度为 1 1 1的线段,随机切成 n n n段,第 k k k短的段的期望长度为 1 n 2 + 1 n ( n − 1 ) + . . . + 1 ( n − k + 1 ) \frac 1{n^2}+\frac{1}{n(n-1)}+...+\frac{1}{(n-k+1)} n21+n(n1)1+...+(nk+1)1。(推导可以看这里)
如果就是最短的一段,答案是 1 3 n 2 \frac{1}{3n^2} 3n21,否则考虑第二短的一段,答案需要 + 1 n ( n − 1 ) +\frac{1}{n(n-1)} +n(n1)1,还要乘上第一短的段两个端点颜色相同的概率 1 3 \frac{1}{3} 31

a n s = ∑ i = 1 n 1 3 i n ( n − i + 1 ) ans=\sum\limits_{i=1}^{n}\frac{1}{3^in(n-i+1)} ans=i=1n3in(ni+1)1

你可能感兴趣的:(妙,结论及推导,概率与期望,构造,atcoder)