Loading

ARC148E ≥ K(组合)

ARC148E ≥ K

问序列 \(a\) 有多少种排列没有相邻两个数 \(< K\)。模 \(998244353\)

CODE

每场 ARC 必带的送分序列题 E。

大于 \(K\) 的数变成 \(K\)

\(a\)\(K, 0, K - 1, 1, K - 2, 2, ...\) 的顺序排序。

\(2a_i \ge K\) 的数叫 A 数,否则是 B 数。

每放一个 AB 数,都不能放在之前放了的 B 数旁边,只能放在两个 A 数中间。这个地方比较巧妙但是这东西实在是基础了我不好说。

于是维护一个当前可以放的位置个数 \(= 1\),遇到 A \(+ 1\) 遇到 B \(-1\) 每次变化之前乘起来即可。

posted @ 2022-09-13 16:29  Pizza1123  阅读(184)  评论(0)    收藏  举报