差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
programming_algorithm:contest_history:atcoder:2019:0113_keyence2019 [2019/01/24] – [解法] ikatakosprogramming_algorithm:contest_history:atcoder:2019:0113_keyence2019 [2019/01/25] – [解法] ikatakos
行 36: 行 36:
  
   * 各都市につき、自分から繋ぎにいく候補道路は、多くとも左右それぞれ1本ずつでよい   * 各都市につき、自分から繋ぎにいく候補道路は、多くとも左右それぞれ1本ずつでよい
-  * その道路とは、「自分より左/右にある規模の小さい都市の中で、建設コスト最小のもの」+    * あくまで「自分より規模の小さい都市」の中の話で、他の規模の大きい都市から自分が繋がれる対象になることはある 
 +  * その道路とは、「自分より左にある自分より規模の小さい都市の中で、建設コスト最小のもの」と「自分より右にある(以下同)
   * 理由は以下   * 理由は以下
     * 次の2つを念頭に置く     * 次の2つを念頭に置く
行 46: 行 47:
     * なので、最長は、$w$ から出る2本の内のどちらか。この2本の比較で長い方は使われない     * なので、最長は、$w$ から出る2本の内のどちらか。この2本の比較で長い方は使われない
     * これを任意の2都市でやっていくと、結局はその中でコスト最小の辺しか使われない     * これを任意の2都市でやっていくと、結局はその中でコスト最小の辺しか使われない
 +    * 右も同様
  
 で、規模の小さい都市から更新しつつ区間の最小値を求めるにはセグメント木を使えば良いのだが、Pythonではそれでも遅い。 で、規模の小さい都市から更新しつつ区間の最小値を求めるにはセグメント木を使えば良いのだが、Pythonではそれでも遅い。
行 53: 行 55:
 証明がよくわかっていない。 証明がよくわかっていない。
  
-サンプル4などを、実際にどの都市とどの都市が結ばれるのかやってみると、面白い結果になる。+サンプル4などを、実際にどの都市とどの都市が結ばれるのかやってみると、特徴的な結果になる。
  
                ,-------------------,-----------,                ,-------------------,-----------,
行 108: 行 110:
   * それ以外 (i, j)   * それ以外 (i, j)
  
-($t$回目に$(i,j)$が紙片の左下になる切り方の数)×(以降の操作回数 $K-t+1$) を、$t=1..K$ まで合計すればよい。$\sum{k}$ や $\sum{k^2}$ の公式を利用すると簡単になる。+($t$ 回目にはじめて$(i,j)$が紙片の左下になる切り方の数)×(以降の操作回数 $K-t+1$) を、$t=1..K$ まで合計すればよい。$\sum{k}$ や $\sum{k^2}$ の公式を利用すると簡単になる。
  
 <sxh python> <sxh python>
programming_algorithm/contest_history/atcoder/2019/0113_keyence2019.txt · 最終更新: 2019/04/17 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0