kwm_t

kwm_tのメモ

Codeforces Round #769 (Div. 2)

一日に二度負けると死にたくなりますね
途中で気持ち折れて逃げました。
result:ooo---
rateing:1847->1835
■A. ABC
ギャグ
適当に考えると'0','1','01','10'のみ
■B. Roof Construction
最高位のbitは絶対に使われる
それなら
0****
0****
00000
10000
1****
1****
のようにすればいい
■C. Strange Test
b-aあれば作れるのは自明。
未証明だが、
操作1を連打して操作3
操作2を連打して操作3とするんだろうという気持ちなので
それぞれ連打の回数を0からb-aまで試す
■D. New Year Concert
i番目の要素から左に向かってgcdを考える。これは単調減少に成るのは明らか。
gcd(aj,aj+1,,,,,ai-1,ai)=i-j+1となるjを見つけたい。
つまり
gcd(区間)-区間長=0について考えればいいがこれは減少列なので
二分探索ができる。
なので{区間gcd,区間長}をセグ木に乗せて二分探索を行えばいい。
0になる箇所が存在するならa[i]を大きな素数(1000000007)に変更すればいい