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测评打分。不知道怎么写?

首页