Skip to content
henoc on demand edited this page Feb 19, 2016 · 8 revisions

てきとーに解いていくんやで

.
├── README.md                何の意味もないREADME
├── codeFestival2014ElimB    CODE FESTIVAL 2014 予選B
└── ddpcElim                 DDPC予選

ARC22

C

  1. 適当に始点を取ってそこから最長になる頂点v1をdfsで求める.
  2. 頂点v1から最長になる頂点v2をdfsで求める.
  3. v1からv2が最長.

DDPC予選

B

  1. 部屋の満足度をkey, 部屋番号集合をvalueとしたMapを作る
    →満足度順に部屋を訪問すればいい
  2. ある満足度vと, vの次に訪れるべき満足度v'について(v + 1 = v' というわけではないけど少なくとも v < v')
    vの部屋集合をs, v'のをs'として
    (sの内, 最後に訪れた部屋番号) > (s'の最小の部屋番号) なら一周する必要がある
    →ある満足度vにおいて最後に訪問する部屋番号をprevとして記録しておいて, 次の満足度v'を調査するときにprevとs'.minを比較すればいい
  3. 最大の満足度v'''とその部屋集合s'''について
    s'''.maxが1番目の部屋で無ければ, 最後に1番目の部屋に戻る必要があるので, もう一週する必要がある
Clone this wiki locally