rupc2017:bの解説
TRANSCRIPT
B. GPAじゃんけん原案・解説 beet (@beet_aizu)
問題概要
N人ぶんのGPAが与えられる。
N人で総当たり戦をする。(じゃんけんをして、GPAが高い方が勝ち)
勝ち:3点、負け:0点、引き分け:1点とした時に、それぞれの勝ち点を求める。
自明回(TLE)N*(N-1)/2回分の試合をシミュレーションする
-> O(N^2)
N<=10^5なのでTLE
想定解
ソートすれば自分よりGPAが高い人、同じ人、低い人の人数がわかる
->やるだけ
桁数が指定されているのでC++のstd::stringならstd::sortで
そのまま誤差なしでソートできる。
オーダーはO(NlogN)。(バケツソートすればO(N))
結果
● Onsite○ First submission: jr_delay( 7min)○ First AC: jr_delay( 7min)
● Online○ First submission: jr_delay( 7min)○ First AC: jr_delay( 7min)
● Success rate (24 / 55)○ 43.64%
ジャッジ解
名前 行数
kawa 16
rollman 59
c7c7 19
beet 19
haji 21
someso 23
gacho 22
aoba 33
名前 行数
uku 30
kzyKT 27