差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
programming_algorithm:contest_history:atcoder:2019:0323_agc032 [2019/04/21] ikatakosprogramming_algorithm:contest_history:atcoder:2019:0323_agc032 [2019/04/21] – [解法] ikatakos
行 406: 行 406:
  
 解説pdfを読んだら理解と実装は比較的簡単だが、考察の時点で結構地道なパターン分けが必要。 解説pdfを読んだら理解と実装は比較的簡単だが、考察の時点で結構地道なパターン分けが必要。
- 
-===いろいろ試す=== 
  
 最大値をなるべく低く抑えるということは、ペアの合計を均等にした方が良さそうなので、大きいのと小さいのを組み合わせる方向性が思いつく。 最大値をなるべく低く抑えるということは、ペアの合計を均等にした方が良さそうなので、大きいのと小さいのを組み合わせる方向性が思いつく。
行 418: 行 416:
 仮に、$\mod{M}$ の条件がないのであれば、つまり単にペアの和の最大値を低く抑えるのであれば、この組合せ方が正解となる。 仮に、$\mod{M}$ の条件がないのであれば、つまり単にペアの和の最大値を低く抑えるのであれば、この組合せ方が正解となる。
  
-<WRAP>+<WRAP round box>
 これを確認する。$a \le b \le c \le d$ として、ペアの組み方は3通りある。 これを確認する。$a \le b \le c \le d$ として、ペアの組み方は3通りある。
  
行 426: 行 424:
         `--'  |     `-----'  |     `--'         `--'  |     `-----'  |     `--'
  
-ある2通りのペアの組み方 $A,B$ があって、醜さの最大値の比較で $Z_A \le Z_B$ と言うためには、 +ある2通りのペアの組み方 $P,Q$ があって、醜さの最大値の比較で $Z_P \le Z_Q$ と言うためには、 
-「$A$ の全てのペアについて、それぞれ、より醜さが大きいペアが $B$ に存在する」ということが言えればよい。+「$P$ の全てのペアについて、それぞれ、より醜さが大きいペアが $Q$ に存在する」ということが言えればよい。
  
 すると、$C$ のペアは、 すると、$C$ のペアは、
行 441: 行 439:
  
 ただ、先ほどの例だと $Z=9$ になる。$M=10$ なので、答えとなり得る値の中で最大であり、そのまま適用するのはあまり有効そうではない。$\mod{M}$ を有効活用したい。 ただ、先ほどの例だと $Z=9$ になる。$M=10$ なので、答えとなり得る値の中で最大であり、そのまま適用するのはあまり有効そうではない。$\mod{M}$ を有効活用したい。
- 
-  ,-----, 
-  | ,-, | ,-, 
-  0 2 3 4 5 9 
- 
-1つ大きい数字同士でペアを作ってから、残ったもので大小組み合わせると、$X=5$ となり、サンプルの出力例と一致する。 
-適切なペアはこんな感じになるようだ。 
-ただ $N$ が少なすぎて、どういう風に一般化すればいいか、まだ決めづらい。 
  
 ところで、各数字は $0 \le a_i \lt M$ なので、2つ足しても $2M$ を超えることはない。「和が $M$ を超えるペア」のスコアは必ず「2数の和$-M$」である。つまり、「和が $M$ を超えるペア」同士の間では、2数の和がそのまま大小比較に使える。 ところで、各数字は $0 \le a_i \lt M$ なので、2つ足しても $2M$ を超えることはない。「和が $M$ を超えるペア」のスコアは必ず「2数の和$-M$」である。つまり、「和が $M$ を超えるペア」同士の間では、2数の和がそのまま大小比較に使える。
行 473: 行 463:
           b + d - M           c + d - M           b + d - M           c + d - M
  
-  * $a+c$ で $M$ 未満なのだから、$a+b$ は $M$ 未満 +  * (左) $a+c$ で $M$ 未満 => (右) $a+b$ は $M$ 未満 
-  * $b+d$ で $M$ 以上なのだから、$c+d$ は $M$ 以上+  * (左) $b+d$ で $M$ 以上 => (右) $c+d$ は $M$ 以上
  
 よって、組み替えた後も $M$未満/以上という分類は成立している。 よって、組み替えた後も $M$未満/以上という分類は成立している。
  
-また、$a+c \ge a+b$、$b+d \ge c+d$ が成り立つので、最終的な $Z$ の値も $Z_左 \ge Z_右$ となり、常に改善される。+また、$(左)a+c \ge (右)a+b$、$(左)b+d \ge (右)c+d$ が成り立つので、最終的な $Z$ の値も $Z_左 \ge Z_右$ となり、常に改善される。
  
 他のケースも、考えていくと同じ事が言える。 他のケースも、考えていくと同じ事が言える。
programming_algorithm/contest_history/atcoder/2019/0323_agc032.txt · 最終更新: 2019/04/21 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0