GCJ 2011 Qualification Round
通過した。
C. Candy Splitting
通った。
Patrickの足し算はXORの計算なので、2つに分けたときに同じ値になるってことは、全部足して0になるならば2つに分けられる。
全部XORして0になるということは、「一番小さな数字」と「それ以外の数字のXOR」はXORを取って0、すなわち、最大のvalueは「それ以外の数字の和」。
D. GoroSort
提出してない。
「2 1」の時は、「2 1」の場合と「1 2」の場合があり得るから、「2 1」の揃うために台バンする回数をxにすると、x=(1/2)*1+(1/2)*(x+1)なので、x=2。「2 3 1」がそろうためには、「3 2 1」...「1 2 3」まである。もう揃っているところを抑えてシャッフルしなおすようにしながら台バンすることを考えると、x=3。4の時もなるみたいだけど、サンプルで「2 1 4 3」は左右を止めて2+2=4という説明になってる。。抑えられない部分の数だけ台バンすればいいような感じではあるけど、証明できない。。。寝。。。
ということで、いいところまでいってたみたいだけど、解けなかった。
反省
ダラダラやりすぎ。問題の読解が遅い。要点以外の部分を飛ばして読めるようになりたい。
一応、ABCを通して通過。