AT_abc017_4.[ABC017D] サプリメント
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
健康志向的高桥君决定服用通过网购购买的保健品。
共有 N 个保健品,编号从 1 到 N。
保健品的口味有 M 种,编号从 1 到 M。第 i 个保健品的口味为 fi,其中 1≤fi≤M。
高桥君打算按照编号顺序,在多天内依次服用这些保健品。为了防止偷懒,他规定只要还有剩余的保健品,每天必须至少服用一个。
高桥君身体强壮,每天可以服用任意数量的保健品,但同一天内不能服用两种相同口味的保健品,因为会吃腻。
高桥君想知道,在上述条件下,总共有多少种不同的服用方式。
这里,若存在某一天所服用的保健品编号的组合不同,则认为两种服用方式不同。
输入格式
输入通过标准输入给出,格式如下:
N M f1 f2 : fN
- 第 1 行包含两个整数 N (1≤N≤100,000) 和 M (1≤M≤100,000),分别表示保健品的数量和口味的种类数。
- 接下来的 N 行,每行一个整数 fi (1≤fi≤M),表示第 i 个保健品的口味。
输出格式
输出服用方式的总数对 1,000,000,007 (=1000000007) 取模的结果。输出末尾需换行。
输入输出样例
输入#1
5 2 1 2 1 2 2
输出#1
5
输入#2
6 6 1 2 3 4 5 6
输出#2
32
说明/提示
部分分
本题设有部分分。
- 若能通过 N≤5,000 且 M≤5,000 的数据集 1,可获得 30 分。
- 若能通过无额外限制的数据集 2,可获得 70 分。
样例解释 1
以下是 5 种可能的服用方式:
| 第 1 天 | 第 2 天 | 第 3 天 | 第 4 天 | 第 5 天 |
|---|---|---|---|---|
| 保健品 1 | 保健品 2 | 保健品 3 | 保健品 4 | 保健品 5 |
| 保健品 1 | 保健品 2 | 保健品 3,4 | 保健品 5 | 无 |
| 保健品 1 | 保健品 2,3 | 保健品 4 | 保健品 5 | 无 |
| 保健品 1,2 | 保健品 3 | 保健品 4 | 保健品 5 | 无 |
| 保健品 1,2 | 保健品 3,4 | 保健品 5 | 无 | 无 |
样例解释 2
无论如何服用都不会吃腻。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?