ACM – hdu5086-water

题意

找出子序列和,因为数字过大,mod 1 000 000 007

输入输出

分析

本来很简单的题目,但是因为读错了题意做了好久,还没AC

计算每个数字出现的次数,然后相加,记得不要溢出即可。

规律$C_i = (i+1) * (N – i)$ _i从0开始

按照如下方法分析:

假设1 2 3 4, 则1生成的序列为:

此时N为4, i为0, 1的次数为N, 2的次数为N-1, 3的次数为N-2, 4的次数为N-3.

对应2则为:

此时情况可以用表来表示

i 1 2 3
1 N N-1 N-2 N-3
2 N-1 N-2 N-3
3 N-1 N-2 N-3

可以观察出规律

AC_code