AT_kupc2018_h.カラフル数列
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
托尔君是个非常喜欢数列的男孩。
在一次日常地欣赏数列时,他听到了电视里提到“多样性”这个词语。
受此启发,托尔君想为自己的数列增添多样性。因此,他决定创建一个由 N 个整数组成的数列 a1,a2,…,aN,需要满足以下条件:
- 对于每个 i (1≤i≤M),子序列 ali,ali+1,…,ari 中至少要有一个数字与 bi 不同。
- 所有数列元素的值必须在 1 和 S 之间(包括 1 和 S)。
托尔君对满足这些条件的数列数量产生了好奇,但发现自己无法手动计算出结果。
请帮助托尔君计算能够满足这些条件的数列的总数。由于结果可能十分巨大,请输出对 109+7 取模后的答案。
输入格式
输入以如下格式给出:
N M S l1 r1 b1 l2 r2 b2 … lM rM bM
输出格式
输出满足上述条件的数列的总数,并对 109+7 取模。
数据范围
- 所有输入均为整数。
- 1≤N≤2×105
- 1≤M≤2×105
- 1≤S≤105
- 1≤li≤ri≤N
- 1≤bi≤S
- 每个 (li,ri,bi) 组合都是唯一的。
样例解释
需要满足的条件如下:
- 在 a1,a2 中,至少有一个数字不是 1。
- 在 a2,a3 中,至少有一个数字不是 2。
- 数列中的每个数字必须介于 1 和 2 之间。
可以满足这些条件的数列有:(1,2,1), (2,1,1), (2,1,2), (2,2,1),共计 4 种。
本翻译由 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测评打分。不知道怎么写?