けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

FPS(形式的冪級数)の高等演算

Yosupo Library Checker - Partition Function

ここでは の計算量の解法を実装した。本当は FPS を使えば の計算量でできる。 問題へのリンク 問題概要 非負整数値 が与えられる。 の分割数を 998244353 で割った余りを求めよ。 制約 考えたこと ここでは、この記事に書いた の計算量の解法を実装した。 q…

AtCoder ABC 303 Ex - Constrained Tree Degree (橙色, 600 点)

プリューファーコード! それを知っていれば FPS 解法は自然。 問題へのリンク 問題概要 以上 以下の整数集合の部分集合 {} が与えられる。 頂点に と番号のついた頂点数 の木であって、各頂点の次数が集合 に含まれているようなものの個数を 998244353 で割…

AtCoder ARC 160 D - Mahjong (橙色, 700 点)

FPS による考察はやっぱり強力ですね! 問題へのリンク 問題概要 長さ かつ総和 である非負整数列 のうち、以下の条件を満たすものの個数を 998244353 で割ったあまりを求めよ。 「以下の操作のうちどちらかを選んで行うことを繰り返して、 の全ての要素を 0…

AtCoder ABC 281 G - Farthest City (黄色, 600 点)

残り 1 分でなんとか通せた。 問題へのリンク 問題概要 頂点数 の連結な単純無向グラフ (頂点番号は であって、次の条件を満たすものの個数を で割ったあまりを求めよ。 なお、ここで、頂点 から各頂点 までの最短距離を としている。 制約 考えたこと グラ…

KUPC 2020 M - Many Parentheses

形式的冪級数の pow で通せた! 問題へのリンク editorial 問題概要 個の箱それぞれに正しい括弧列を入れる。ただし、次の2つの条件をともに満たすように入れる必要がある。 個の箱に含まれる '(' の個数の合計が 長さが である括弧列はどの箱にも入れてはな…

AtCoder ARC 106 F - Figures (橙色, 800 点)

コンテスト本番、こっちをやればよかった...ところで解説が天才すぎる! 問題へのリンク editorial 問題概要 個の部品と、 個の接続用部品とがある。これらを用いてフィギュアを作ろうとしている。 番目の部品には 個の穴がついている。接続用部品は、2 個の…

yukicoder No.1145 Sums of Powers

形式的冪級数すごい 問題へのリンク 問題概要 個の整数 が与えられる。各 に対して を 998244353 で割ったあまりを求めよ。 制約 考えたこと いっそ 次までではなく、無限級数にしてしまう。そして として、 の各次数の係数を求めたい。ここで、 と計算でき…

AtCoder ABC 180 F - Unbranched (橙色, 600 点)

結構いろんな考え方のできる問題! 問題へのリンク 問題概要 頂点数 、辺数 の無向グラフであって、次の条件を満たすものの個数を 1000000007 で割ったあまりを求めよ。 自己ループを持たない すべての頂点の次数が 2 以下である 各連結成分のサイズを並べた…

HHKB プログラミングコンテスト 2020 F - Random Max (橙色, 600 点)

時々やってくる積分ゲー。同時に多項式ゲーでもあった。 問題へのリンク 問題概要 個の区間 が与えられる。これらの区間から一様分布にしたがって点をとってくる (連続値)。 各点の座標の最大値の期待値を をかけた値 (整数値になる) を 1000000007 で割った…

Codeforces Round #250 (Div. 1) E. The Child and Binary Tree (R3100)

形式的冪級数の練習! 問題へのリンク 問題概要 各 に対して、次の問に答えよ。 二分木 (完全二分木でなくてもよいし、頂点数も未定) であって、 各頂点の重みが のいずれか 各頂点の重みの総和が であるようなものの個数を 998244353 で割ったあまりを求め…

yukicoder No.3046 yukicoderの過去問

FPS の inv 関数が使える問題 問題へのリンク 問題概要 階段で一度に登れる段差が であるとする。ちょうど 段を登る方法が何通りあるか、1000000007 で割ったあまりを求めよ。 制約 考えたこと として、 の 次の係数を求める問題となる。 の計算量でできる。…

AtCoder ABC 179 D - Leaping Tak (水色, 400 点)

DP 高速化系問題。こういうのが緑 diff になるようになったんかーー (水色 diff にアップグレードした!) 問題へのリンク 問題概要 マスからなるマス目が与えられる。また、 個の互いに disjoint な区間 が与えられる。この区間に属する整数からなる集合を …