AT_agc077_d.[AGC077D] Range Replace 2

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

正整数 $ N $ と素数 $ P $ が与えられます.

すべての要素が $ 0 $ である長さ $ N $ の数列 $ A=(A_1,A_2,\ldots,A_N) $ があります.

あなたは以下の操作を $ 0 $ 回以上好きな回数繰り返すことができます.

  • 整数の組 $ (l, r)\ (1\leq l\leq r\leq N) $ を選ぶ. $ A_l,A_{l+1},\ldots,A_r $ を全て $ \dfrac{r(r-1)}{2}+l $ で置き換える.

操作を繰り返すことで最終的に得られる $ A $ としてあり得るものの個数を $ P $ で割った余りを求めてください.

输入格式

入力は以下の形式で標準入力から与えられる.

$ N $ $ P $

输出格式

答えを出力せよ.

输入输出样例

  • 输入#1

    1 998244353

    输出#1

    2
  • 输入#2

    2 998244353

    输出#2

    7
  • 输入#3

    3 998244353

    输出#3

    38
  • 输入#4

    4 998244353

    输出#4

    282
  • 输入#5

    77 777777773

    输出#5

    112061248

说明/提示

Sample Explanation 1

得られる $ A $ は $ (0),(1) $ の $ 2 $ 通りです.

Sample Explanation 2

得られる $ A $ は $ (0,0),(0,3),(1,0),(1,2),(1,3),(2,2),(2,3) $ の $ 7 $ 通りです.

Constraints

  • $ 1\leq N\leq 5000 $
  • $ P $ は $ 10^8\lt P\lt 10^9 $ を満たす素数
  • 入力される数値は全て整数

输入解题思路,AI测评打分。不知道怎么写?

首页