Loading [MathJax]/jax/output/CommonHTML/jax.js

差分

このページの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:
 仮に、modM の条件がないのであれば、つまり単にペアの和の最大値を低く抑えるのであれば、この組合せ方が正解となる。 仮に、modM の条件がないのであれば、つまり単にペアの和の最大値を低く抑えるのであれば、この組合せ方が正解となる。
  
-<WRAP>+<WRAP round box>
 これを確認する。abcd として、ペアの組み方は3通りある。 これを確認する。abcd として、ペアの組み方は3通りある。
  
行 426: 行 424:
         `--'  |     `-----'  |     `--'         `--'  |     `-----'  |     `--'
  
-ある2通りのペアの組み方 $A,BZ_A \le Z_B$ と言うためには、 +ある2通りのペアの組み方 $P,QZ_P \le Z_Q$ と言うためには、 
-「$AB$ に存在する」ということが言えればよい。+「$PQ$ に存在する」ということが言えればよい。
  
 すると、C のペアは、 すると、C のペアは、
行 441: 行 439:
  
 ただ、先ほどの例だと Z=9 になる。M=10 なので、答えとなり得る値の中で最大であり、そのまま適用するのはあまり有効そうではない。modM を有効活用したい。 ただ、先ほどの例だと Z=9 になる。M=10 なので、答えとなり得る値の中で最大であり、そのまま適用するのはあまり有効そうではない。modM を有効活用したい。
- 
-  ,-----, 
-  | ,-, | ,-, 
-  0 2 3 4 5 9 
- 
-1つ大きい数字同士でペアを作ってから、残ったもので大小組み合わせると、X=5 となり、サンプルの出力例と一致する。 
-適切なペアはこんな感じになるようだ。 
-ただ N が少なすぎて、どういう風に一般化すればいいか、まだ決めづらい。 
  
 ところで、各数字は 0ai<M なので、2つ足しても 2M を超えることはない。「和が M を超えるペア」のスコアは必ず「2数の和M」である。つまり、「和が M を超えるペア」同士の間では、2数の和がそのまま大小比較に使える。 ところで、各数字は 0ai<M なので、2つ足しても 2M を超えることはない。「和が M を超えるペア」のスコアは必ず「2数の和M」である。つまり、「和が M を超えるペア」同士の間では、2数の和がそのまま大小比較に使える。
行 473: 行 463:
           b + d - M           c + d - M           b + d - M           c + d - M
  
-  * a+cM 未満なのだから、a+bM 未満 +  * (左) a+cM 未満 => (右) a+bM 未満 
-  * b+dM 以上なのだから、c+dM 以上+  * (左) b+dM 以上 => (右) c+dM 以上
  
 よって、組み替えた後も M未満/以上という分類は成立している。 よって、組み替えた後も M未満/以上という分類は成立している。
  
-また、a+ca+bb+dc+d が成り立つので、最終的な Z の値も ZZ となり、常に改善される。+また、$(左)a+c \ge (右)a+b(左)b+d \ge (右)c+dZZ_左 \ge Z_右$ となり、常に改善される。
  
 他のケースも、考えていくと同じ事が言える。 他のケースも、考えていくと同じ事が言える。
programming_algorithm/contest_history/atcoder/2019/0323_agc032.txt · 最終更新: by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0