[Algo Beat Contest 001 C] Creating a Queue
题目背景
Problem | Score | Idea | Std | Data | Check | Solution |
---|---|---|---|---|---|---|
\(\text{C - Creating a Queue}\) | \(400\) | joe_zxq | fanchuanyu & joe_zxq | joe_zxq | remmymilkyway | Link by joe_zxq |
题目描述
给定一个长度为 \(N\) 的非负整数序列 \(A\)。
现在你需要用 \(1\sim M\) 之间的正整数替换所有序列 \(A\) 中的 \(0\),使得对于其中的任何一段长度大于等于 \(2\) 的子数组,不能存在唯一众数。
子数组:在一个数组中,选择一些连续的元素组成的新数组。
唯一众数:众数指的是一个数字序列中出现次数最多的元素。如果一个数字序列众数只有一个,我们称这个序列有唯一众数。
求有多少种不同方案,答案对 \(1145141923\) 取模。两种方案称为不同,当且仅当替换后的序列至少有一位上的数不同。
输入格式
第一行包含两个正整数 \(N\) 和 \(M\),表示序列的长度和替换数的最大限度。
第二行包含 \(N\) 个非负整数,表示序列 \(A\) 的元素。
输出格式
一行一个非负整数,表示方案的数量,答案对 \(1145141923\) 取模。
输入输出样例 #1
输入 #1
2 3
1 0
输出 #1
2
输入输出样例 #2
输入 #2
4 1046
114 514 191 981
输出 #2
1
说明/提示
样例解释 #1
有 \(2\) 个满足条件的序列,分别为 \(\{1,2\}\) 和 \(\{1,3\}\)。
样例解释 #2
序列已经完全固定,本身就是一种合法的序列,于是答案为 \(1\)。
数据范围
对于 \(100\%\) 的数据,保证 \(1 \le N \le 10^6\),\(1 \le M \le 10^9\),\(0 \le A_i \le M\)。
信息
- ID
- 1002
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 通过率
- 100%
- 上传者