2017-04-02
SRM 709
Div1 Easy (250) Xscoregame
問題
- 配列Aが与えられる
- Aの各要素Yを任意の順番で選ぶ
- Xの初期値を0としてX=(X+(X XOR Y))を計算する
- Xの最大値を求める
方針
- 何となく大きい順のほうが良さそう
- next_permutationで全部試すのは無理
- 適当に2分割してお茶を濁す
- Challenge Succeeded
- (終了後)
- 下位6ビットの結果が重要なので、そこだけ見てbit DP
- https://github.com/firewood/topcoder/blob/master/srm_7xx/srm_709/Xscoregame.cpp
結果
x-- +3 150pt 102nd/339 rating 1637 -> 1683 (+46)
違いが出る部分だけでDPするのはなるほどという感じ。
- 10 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 10 https://topcoder-g-hatena-ne-jp.jag-icpc.org/
- 3 http://www.adventar.org/calendars/1625
- 3 https://www.google.co.jp/
- 1 https://www.google.com/
- 1 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0CCAQFjAA&url=https://topcoder-g-hatena-ne-jp.jag-icpc.org/firewood/&ei=fzfiWODCMeb1wQOiWA&usg=AFQjCNF7OCqzkXGK7X8vh6Y-RjeI_uDApQ
- 1 https://topcoder-g-hatena-ne-jp.jag-icpc.org