dpの区間クエリみたいなやつ
冒頭の問題の解説を理解してから下を読まないと意味不明だと思います。
ちなみにDDCCのDは https://atcoder.jp/contests/ddcc2019-final/tasks/ddcc2019_final_d のことです。
ꑄ꒖ꐇꌅꏂ🐾
@snuke_
長さ10^6の文字種52の文字列Sが与えられ、以下のオンラインクエリが10^6個来る。 ・区間[l,r]に含まれる相異なる部分列は何通りあるか O((N+Q)*52)で解いてください。 解説:drive.google.com/file/d/1plwnwr…
2019-01-20 18:45:58
ꑄ꒖ꐇꌅꏂ🐾
@snuke_
補足:部分文字列じゃなくて部分列です。subsequenceです。abc->acみたいなやつ。あと、取り出す場所が違っても文字列として一緒なら1個として数える。(じゃないと自明)
2019-01-20 18:51:31
ꑄ꒖ꐇꌅꏂ🐾
@snuke_
dpの遷移がK次正方行列で表せてかつ逆行列があるとき、O(N*K^3+QK) さらに、遷移がO(N)ならO(N*K^2+QK)に、遷移がO(1)ならO((N+Q)*K)にできる(条件が正確かは自信がない)
2019-01-20 19:50:46
ꑄ꒖ꐇꌅꏂ🐾
@snuke_
@DEGwer3456 うん。ただそこでlogは付かないようにできると思う。(例えばvectorへのポインタをコピーするだけなら一回の遷移でO(K))
2019-01-20 20:13:49