atcoder#ARC071D. [ARC071F] Infinite Sequence

[ARC071F] Infinite Sequence

题目描述

{1, ... ,n {1,\ ...\ ,n} } からなる無限長の列 a1, a2, ... a_1,\ a_2,\ ... のうち、 次の条件を満たしているものは何通りあるでしょうか?

  • n n 項から先はすべて同じ数である。つまり、n  i,j n\ \leq\ i,j ならば ai = aj a_i\ =\ a_j を満たす。
  • どの正の整数 i i に対しても、第 i i 項の直後に並ぶ ai a_i 個の項はすべて同じ数である。つまり、 i < j < k i+ai i\ <\ j\ <\ k\leq\ i+a_i ならば aj = ak a_j\ =\ a_k を満たす。

答えを 109+7 10^9+7 で割ったあまりを求めてください。

输入格式

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

n n

输出格式

条件を満たす数列の数を 109+7 10^9+7 で割ったあまりを出力せよ。

题目大意

定义 nn-可爱序列 指无限长的由 {1,2...,n}\{1,2...,n\} 组成的序列。同时 a1,a2...a_1,a_2...满足以下条件:

1.第 nn 个及以后的元素是相同的,即若 i,jn,ai=aj\forall i,j\geq n,a_i=a_j

2.对于每个位置 ii,紧随第 ii 个元素后的 aia_i 个元素是相同的,即若 i<j<ki+ai,aj=ak\forall i<j<k≤i+a_i,a_j=a_k

输入 nn,请输出 nn-可爱序列的数量 mod109+7\bmod 10^9+7

n106n\leq{10^6}

翻译 by @皎月半洒花 。

2
4
654321
968545283

提示

制約

  • 1  n  106 1\ \leq\ n\ \leq\ 10^6
  • n n は整数

Sample Explanation 1

以下の 4 4 通りがあります。 - 1, 1, 1, ... 1,\ 1,\ 1,\ ... - 1, 2, 2, ... 1,\ 2,\ 2,\ ... - 2, 1, 1, ... 2,\ 1,\ 1,\ ... - 2, 2, 2, ... 2,\ 2,\ 2,\ ...