AT_arc146_f.[ARC146F] Simple Solitaire
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个 $ (1,2,\dots,N) $ 的排列 $ P $,进行如下操作。
有 $ N $ 张卡片,这些卡片编号为 $ 1 $ 到 $ N $。卡片 $ i $ 上写有 $ P_i $。
有一个整数 $ X=1 $。一开始 PCT 君手上没有任何卡片。PCT 君按照 $ i=1,2,\dots,N $ 的顺序进行以下操作:
获得卡片 $ i $。之后,只要手上有写有 $ X $ 的卡片,就重复以下操作:
吃掉写有 $ X $ 的卡片,并将 $ X $ 加 $ 1 $。
如果当前手上的卡片数量不少于 $ M $,则将手上所有卡片全部丢弃,操作立即结束。此后不再进行任何操作。
现在,定义排列 $ P $ 的分数如下:
- 如果卡片被丢弃导致操作结束,则 $ P $ 的分数为 $ 0 $。
- 如果卡片没有被丢弃,操作一直进行到最后,则 $ P $ 的分数为 $ \prod_{i=1}^{N-1} $(第 $ i $ 次操作结束时 PCT 君手上持有的卡片数量)。
对于所有可能的 $ P $(共有 $ N! $ 种),请输出所有分数的总和对 $ 998244353 $ 取模的结果。
输入格式
输入通过标准输入给出,格式如下:
$ N\ M $
输出格式
请输出答案。
输入输出样例
输入#1
3 2
输出#1
1
输入#2
3 3
输出#2
5
输入#3
146146 146
输出#3
103537573
说明/提示
限制条件
- $ 2\leq N\leq 2\times 10^5 $
- $ 2\leq M\leq N $
- 输入均为整数。
样例解释 1
以 $ P=(3,1,2) $ 为例,操作如下:
- 第 $ 1 $ 次操作:PCT 君获得卡片 $ 1 $。当前手上有 $ 1 $ 张卡片,继续操作。
- 第 $ 2 $ 次操作:PCT 君获得卡片 $ 2 $。吃掉卡片 $ 2 , X $ 变为 $ 2 $。当前手上有 $ 1 $ 张卡片,继续操作。
- 第 $ 3 $ 次操作:PCT 君获得卡片 $ 3 $。吃掉卡片 $ 1,3 , X $ 变为 $ 4 $。当前手上有 $ 0 $ 张卡片,继续操作。
操作一直进行到最后,因此 $ (3,1,2) $ 的分数为 $ 1\times 1=1 $。除了 $ (3,1,2) $ 之外,没有其他排列的分数大于等于 $ 1 $,所以答案为 $ 1 $。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?