2022年8月9日火曜日

Codeforces Round #810 (Div. 1)

 ABの二完。 だが、Eが既出でunratedになったりして大変なことに。

コンテスト後のツイート


C. XOR Triangle

 解説AC。難しいが、手順を踏めば解ける問題という気もする。

 入力が01列で与えられているので、桁DPを使うんだろうなぁ、ということは分かる。

 その後の考察は難しいのだが、桁に注目して実験などすれば、a,b,cのある桁での値を000のように三つの数字で表すと、

・011か100の箇所が一ヶ所以上ある
・101か010の箇所が一ヶ所以上ある
・110か001の箇所が一ヶ所以上ある

 という条件を満たせば良いと分かるのだろう。解説に証明は載っており、証明を理解するのは難しくないが、この道筋で導出するのは困難な気がする。

 あとは、これを桁DPする。

・DP[i][j]で、iはa, b, cがMAXと一致しているかの八通り,  jは、011/100, 101/010, 110/010 を使ったかの八通りを持つ

 そして、a, b, cの各桁に0/1がきたときどうなるか、という遷移を考えれば良い。


 言われれば書けるけど、コードに直す部分も難しいなぁ……。

0 件のコメント:

コメントを投稿