K)みたいな計算量で解けそう。自明に求まるものを求めてみる。任意のフレンズの集合に対してそのフレンズのいるところを必ず通る経路をすべて求める。フレンズの位置の集合をSとする。jという順に並び変えられるならば、Sのすべてを通る経路がある。なければ経路の数は0。この経路の求め方を考えてみる。W)の経路を見るだけ。「=>」の部分の経路の数を求めて掛けるだけ。w)みたいなのを求めて積をとる。このような経路の数をf(S)とする。ここでf(S)が表しているものを裏返しに考えてみる。フレンズ全体をUとしてそこからSを除いたU∖Sを見てみる。T⊆U∖Sとし、g(T)をTに含まれるフレンズだけを「通らない」経路の数とするとメビウス変換によりg(T)が求まる。フレンズの集合Vについてh(V)をVのフレンズにジャパリまんを渡す経路の数とする。h(V)はVに含まれるフレンズのところをだけを「通ってもよい」経路ともいえる。g(T)を裏返しに見れば、U∖Tだけを「通る」経路の数といえるのでゼータ変換により解が得られる。w)の辺を貼ると1から2<=x<=31までの経路の和は2x-2通りである。2f(x-1)であるため。AtCoder月別アーカイブはてなブログをはじめよう!parukiiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。