遅刻してA一完。Bでハマってしまった。
B. XOR = Average
nが奇数のときは[1]*nで良い。
コンテスト中20分以上考えたが、nが偶数のときを思いつかなかった。最後の二要素で辻褄合わせをする……みたいな方針を考えたが上手くいかなかった。
結論からいうと、[1,3]の後に[2]を続ければ良い。
二要素で条件を満たすものがあれば、後にずっとその値を続ければ良いですね。言われてみれば当たり前。
E. Tick, Tock
解説ツイートなどを見てAC。
・矛盾するかの判定→重み付きUnion-findで行、列ごとに管理
・答えを求める部分→A[i][j]が-1なら行iと列jをUnionして、連結成分数を見る。全体の連結成分が1よりいくつ大きいかを求めて、hをそのベキ乗したのが答え
とした。
矛盾するかの判定は自分で考えたこともあり、二度手間になっている気がするけどもっと楽にできるのかな? よく分かっていない。
0 件のコメント:
コメントを投稿