JAG夏合宿2019 Day2
J
各操作で左崎さんは,右男さんはを必ず1減らす
相手の値を減らせるなら減らすべきなので数列に0が存在しないときは[1,n]を選択するべき
よって回[1,n]を選択する操作を繰り返す
この操作をした後はお互いa_1とa_nを減らし合って先に0になった方が負けになるゲーム
よって か かつ minが奇数 なら勝てる
→ 通り
かつ minが奇数 →
f(x)はn-1次の多項式っぽいのでn点を使用してf(S)を多項式補完で求める
https://onlinejudge.u-aizu.ac.jp/beta/review.html#JAGSummerCamp19Day2/3884679
変形すると の形になる
はベルヌーイ数がわかっていれば
ベルヌーイ数の前計算は
https://onlinejudge.u-aizu.ac.jp/beta/review.html#JAGSummerCamp19Day2/3884834
C
s[i]のsuffixとs[j]のprefixが一致する最大の文字数(=w(i,j))の分削減できる
頂点を2n個並べた二部グラフをつくって文字列i → 文字列j に重みw(i,j)の辺を貼って最大二部マッチング
これは最小費用流を使えばできる
w(i,j)はkmpとかで求まる
https://onlinejudge.u-aizu.ac.jp/beta/review.html#JAGSummerCamp19Day2/3886334
F
グラフの最大独立集合 = 線グラフの最大マッチング
最大マッチングのサイズはtutte行列でO(n3)で計算可能
https://onlinejudge.u-aizu.ac.jp/beta/review.html#JAGSummerCamp19Day2/3886596
残りは解けたら…