-
Notifications
You must be signed in to change notification settings - Fork 0
Home
henoc on demand edited this page Feb 19, 2016
·
8 revisions
てきとーに解いていくんやで
.
├── README.md 何の意味もないREADME
├── codeFestival2014ElimB CODE FESTIVAL 2014 予選B
└── ddpcElim DDPC予選
- 適当に始点を取ってそこから最長になる頂点v1をdfsで求める.
- 頂点v1から最長になる頂点v2をdfsで求める.
- v1からv2が最長.
- 部屋の満足度をkey, 部屋番号集合をvalueとしたMapを作る
→満足度順に部屋を訪問すればいい - ある満足度vと, vの次に訪れるべき満足度v'について(v + 1 = v' というわけではないけど少なくとも v < v')
vの部屋集合をs, v'のをs'として
(sの内, 最後に訪れた部屋番号) > (s'の最小の部屋番号) なら一周する必要がある
→ある満足度vにおいて最後に訪問する部屋番号をprevとして記録しておいて, 次の満足度v'を調査するときにprevとs'.minを比較すればいい - 最大の満足度v'''とその部屋集合s'''について
s'''.maxが1番目の部屋で無ければ, 最後に1番目の部屋に戻る必要があるので, もう一週する必要がある