请求支援
  • 板块学术版
  • 楼主linzichen120207
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/8/9 16:54
  • 上次更新2024/8/9 17:54:46
查看原帖
请求支援
935855
linzichen120207楼主2024/8/9 16:54

统计Perfect数组

题目描述

给定两个整数 nn 和 mm,对于下标从 0 开始、长度为 nn 的正整数数组 aa,只有满足如下条件,才能被称作是一个“Perfect数组”:

  • 数组每一位上的值最大只能取到 mm,即 a[i]∈[1,m] (0≤i<n)a[i]\in[1,m]\ (0\le i<n)
  • 从下标为 11 的位置开始,数组每一位都可以被它的前一位整除,即 a[i−1]∣a[i] (0<i<n)a[i-1] \mid a[i] \ (0<i<n)

对于给定的 nn 和 mm,请你找到长度为 nn 的 不同 的Perfect数组的数目。由于答案可能很大,返回对 109+710^9+7 取模的结果

输入格式

一行 22 个整数 nn 和 mm,nn 代表Perfect数组的长度,mm 代表数组上每一位的最大取值

输出格式

11 个对 109+710^9+7 取模的整数 ansans

样例 #1

样例输入 #1

2 5

样例输出 #1

10

样例 #2

样例输入 #2

5 3

样例输出 #2

11

提示

数据范围与提示

「样例解释 #1」

存在以下Perfect数组:

  • 以 11 开头的数组(55 个):[1,1][1,1]、[1,2][1,2]、[1,3][1,3]、[1,4][1,4]、[1,5][1,5]
  • 以 22 开头的数组(22 个):[2,2][2,2]、[2,4][2,4]
  • 以 33 开头的数组(11 个):[3,3][3,3]
  • 以 44 开头的数组(11 个):[4,4][4,4]
  • 以 55 开头的数组(11 个):[5,5][5,5]

共计 5+2+1+1+1=105 + 2 + 1 + 1 + 1 = 10 个不同Perfect数组

「样例解释 #2」

存在以下Perfect数组:

  • 以 11 开头的数组(99 个):
    • 不含其他不同值(11 个):[1,1,1,1,1][1,1,1,1,1]
    • 含一个不同值 22(44 个):[1,1,1,1,2],[1,1,1,2,2],[1,1,2,2,2],[1,2,2,2,2][1,1,1,1,2], [1,1,1,2,2], [1,1,2,2,2], [1,2,2,2,2]
    • 含一个不同值 33(44 个):[1,1,1,1,3],[1,1,1,3,3],[1,1,3,3,3],[1,3,3,3,3][1,1,1,1,3], [1,1,1,3,3], [1,1,3,3,3], [1,3,3,3,3]
  • 以 22 开头的数组(11 个):[2,2,2,2,2][2,2,2,2,2]
  • 以 33 开头的数组(11 个):[3,3,3,3,3][3,3,3,3,3]

共计 9+1+1=119 + 1 + 1 = 11 个不同Perfect数组

「数据范围」

对于 30%30\% 的数据,2≤n≤1002 \leq n \leq 100,1≤m≤1001 \leq m \leq 100

对于 50%50\% 的数据,2≤n≤10002 \leq n \leq 1000,1≤m≤10001 \leq m \leq 1000

对于 100%100\% 的数据,2≤n≤1042 \leq n \leq 10^4,1≤m≤1041 \leq m \leq 10^4

思考了nn天的脑子终于废了

2024/8/9 16:54
加载中...