kwm_t

kwm_tのメモ

ABC190

■A - Very Very Primitive Game
C= 1ならAを+1して高橋くんが先手だったことにする

 

■B - Magic 3
if文

 

■C - Bowls and Dishes
bit全探索

 

■D - Staircase Sequences
奇約数の個数の倍

 

■E - Magical Ornament
CのK個数以外の頂点はなくして考えたいので
C[i]からC[j]まで何個を経由してたどり着けるから求める。
これはK回bfsすればいいのでO(K * N)で出来る
あとは典型的な巡回セールスマン問題

 

■F - Shift and Inversions
10
0 3 1 5 4 2 9 6 8 7
だったとして
0 3 1 5 4 2 9 6 8 7 0 3 1 5 4 2 9 6 8 7
と二回並べた数列の
i項目からi+N-1項目の間での転倒数が答え
T[i] = 0項目からi項目までの数列間での転倒数とすると
答えはT[N+i-1] - T[i-1]から 転倒が[0,i-1)と[i,i+N-1)の区間をまたいでいるばあい
これがA[0] + A[1] + .....A[i-1]なのでAsum[i]とでもおくと
T[N+i-1] - T[i-1] - Asum[i-1]が答え。