bitDPLCP(複数文字列の任意の2つのLCPを高速に取る)aCb(mod)解説https://yukicoder.me/submissions/199959今回求めたい値は、かるたを取る全てのパターンの疲労度の期待値ではなく、総和を答えると答えになる。そのため、今後は総和を頑張って計算することを考える。maskの集合のかるたを取った時の全パターンの疲労度の総和としてDPを使って計算していこう。maskの中でまだ取っていないi番目を取ることを考える。すると、i番目のかるたを取るときの疲労度cは「まだ取られてないi番目以外のかるたとi番目のかるたのLCPのうち最大+1」である。かるたをcn個取ったとすると、この状態となる組み合わせはcn!通りあるため、疲労度cもcn!回足されることになる。cn!でdp更新ができる。ライブラリの全体は上のソースコードにある。F]月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。