geam1113’s diary

主にAtcoderのコンテストの備忘録を書きます。AtCoder緑と水色を行ったり来たりしています。

ABC238E Range Sums

解説AC

問題へのリンク
公式解説

公式解説のメモ程度です。

aの累積和をbとおくと、与えられる情報は、
b_{r_i} - b_{l_i -1} = X
という風になり、

  • b_{r_i}b_{l_i -1} の一方が分かれば、もう一方がわかる

という関係になる。 この関係をグラフ化し、b_0b_Nが連結ならYes。

ここまでが公式解説の内容です。
連立方程式を順に解いていくことをイメージしました。

ただ、b_iにたどり着ければその値を求められるのは理解できますが、たどり着けないところも何か求める手段がありそうな気がして少し腑に落ちないところがあります。

話は変わりますが、この問題は、Xが実際の値が与えられた時に

  • b_{l_i-1}からb_{r_i}へのコストXの有向辺
  • b_{r_i}からb_{l_i-1}へのコスト-Xの有向辺

とすれば、実際にb_Nを求めることもできそうです。
また、このように考えると、牛ゲーの特殊バージョンと考えられるような感じもします。

別解として、以下のリンクのように吐き出し法で解かれている方がおり、公式解説より私的には納得できました。