差分

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

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
programming_algorithm:contest_history:atcoder:2020:0111_dwacon6th_prelims [2020/01/14] – [解法] ikatakosprogramming_algorithm:contest_history:atcoder:2020:0111_dwacon6th_prelims [2020/01/14] – [解法] ikatakos
行 22: 行 22:
 ==== 解法 ==== ==== 解法 ====
  
-解説pdfの確率を利用する方法がよりスマートだが、一応自力解法をメモしておく。+解説pdfの確率を利用する方法がよりスマート。自分は別の考え方で解いて、複雑なけで特に優れている点は無いが、一応メモしておく。
  
 出力すべき値はややこしい書き方をされているが、要はスライムを選ぶ順番が全部で $(N-1)!$ 通りあり全て等確率なので、全ての選び順においての移動距離の総和を求めればよい。 出力すべき値はややこしい書き方をされているが、要はスライムを選ぶ順番が全部で $(N-1)!$ 通りあり全て等確率なので、全ての選び順においての移動距離の総和を求めればよい。
行 35: 行 35:
   ------------------------   ------------------------
   x  1      10  15  21    スライムの位置   x  1      10  15  21    スライムの位置
-  d    2              区間+  d    2              区間
  
 ===区間より左のスライムの考察=== ===区間より左のスライムの考察===
行 49: 行 49:
  
   😄  😄   😄    😄<---di--->🙂 ...   😄  😄   😄    😄<---di--->🙂 ...
 +  
   初手で選ばれたとき   初手で選ばれたとき
   😄  😄   😄     ・<---di--->🙂    残り3個 = 区間3を通るスライムの数と一致   😄  😄   😄     ・<---di--->🙂    残り3個 = 区間3を通るスライムの数と一致
 +  ↓
 +  😄  😄   😄<--->                ←この通過回数と一致
 +  
   いくつか合成されてから選ばれたとき   いくつか合成されてから選ばれたとき
   ・   😄   ・     ・<---di--->🙂    残り1個 = 区間1を通るスライムの数と一致   ・   😄   ・     ・<---di--->🙂    残り1個 = 区間1を通るスライムの数と一致
 +  ↓
 +  😄<-->・                         ←この通過回数と一致
  
 よって $i$ が小さい方から、$d_i$ の総実現値への寄与回数を計算して、その結果を $R_i$ として記録しておくことで、動的計画法的に計算できる。 よって $i$ が小さい方から、$d_i$ の総実現値への寄与回数を計算して、その結果を $R_i$ として記録しておくことで、動的計画法的に計算できる。
programming_algorithm/contest_history/atcoder/2020/0111_dwacon6th_prelims.txt · 最終更新: 2021/02/18 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0