题意
给一个长度为$n$的数组,取$m$个数字,其中最大值最小值相差不大于$k$,问这种方式有多少种。在$easy$ $version$下
$m=3$,$k=2$。
分析
简单版本就该有简单版本的做法,发现如果将$i$视为这$m$个位置中的第一个,只需要考虑最小值是$a_i-2$、$a_i-1$、$a_i$的情况。
- 最小值是$a_i-2$,由于$a_i$是必取的,所以只需要考虑第三个数是$a_i-2$、$a_i-1$、$a_i$。
- 最小值是$a_i-1$,由于$a_i$是必取的,所以只需要考虑第三个数是$a_i-1$、$a_i$、$a_i+1$。
- 最小值是$a_i$,由于$a_i$是必取的,所以只需要考虑第三个数是$a_i$、$a_i+1$、$a_i+2$。
记录下每个数字出现的次数,使用组合数即可。
1 |
|