AT_kupc2018_h.カラフル数列

通过率:0%

AC君温馨提醒

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

题目描述

托尔君是个非常喜欢数列的男孩。

在一次日常地欣赏数列时,他听到了电视里提到“多样性”这个词语。

受此启发,托尔君想为自己的数列增添多样性。因此,他决定创建一个由 NN 个整数组成的数列 a1,a2,…,aNa_1, a_2, \ldots, a_N,需要满足以下条件:

  • 对于每个 ii (1≤i≤M1 \leq i \leq M),子序列 ali,ali+1,…,aria_{l_i}, a_{l_i + 1}, \ldots, a_{r_i} 中至少要有一个数字与 bib_i 不同。
  • 所有数列元素的值必须在 11 和 SS 之间(包括 11 和 SS)。

托尔君对满足这些条件的数列数量产生了好奇,但发现自己无法手动计算出结果。

请帮助托尔君计算能够满足这些条件的数列的总数。由于结果可能十分巨大,请输出对 109+710^9 + 7 取模后的答案。

输入格式

输入以如下格式给出:

NN MM SS l1l_1 r1r_1 b1b_1 l2l_2 r2r_2 b2b_2 …\ldots lMl_M rMr_M bMb_M

输出格式

输出满足上述条件的数列的总数,并对 109+710^9 + 7 取模。

数据范围

  • 所有输入均为整数。
  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤M≤2×1051 \leq M \leq 2 \times 10^5
  • 1≤S≤1051 \leq S \leq 10^5
  • 1≤li≤ri≤N1 \leq l_i \leq r_i \leq N
  • 1≤bi≤S1 \leq b_i \leq S
  • 每个 (li,ri,bi)(l_i, r_i, b_i) 组合都是唯一的。

样例解释

需要满足的条件如下:

  • 在 a1,a2a_1, a_2 中,至少有一个数字不是 11。
  • 在 a2,a3a_2, a_3 中,至少有一个数字不是 22。
  • 数列中的每个数字必须介于 11 和 22 之间。

可以满足这些条件的数列有:(1,2,1)(1, 2, 1), (2,1,1)(2, 1, 1), (2,1,2)(2, 1, 2), (2,2,1)(2, 2, 1),共计 44 种。

本翻译由 AI 自动生成

输入输出样例

  • 输入#1

    3 2 2
    1 2 1
    2 3 2

    输出#1

    4
  • 输入#2

    8 3 4
    1 5 1
    2 6 1
    4 8 1

    输出#2

    65364
  • 输入#3

    7 6 4
    1 5 1
    3 6 3
    2 2 4
    5 7 4
    4 7 2
    2 2 3

    输出#3

    7984
  • 输入#4

    5 3 52657
    1 2 1
    4 5 1
    1 5 1

    输出#4

    145394311
  • 输入#5

    8 10 3
    1 5 1
    6 8 2
    2 6 2
    3 7 1
    8 8 3
    1 3 3
    4 8 1
    5 6 3
    3 7 2
    1 8 2

    输出#5

    3439

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

首页