数学
题目背景
在小奔
这片神奇的土地上,有一个毒瘤教练小奔
。
题解:https://blog.csdn.net/kkkksc03/article/details/84928333
题目描述
小奔热衷于乘法,他最喜欢做的事情是:从一个有
N
N
N 个元素的序列里取出
K
K
K 个数,(注意:不能取同一个元素好几次,取不同但是值相同的元素则是允许的)
然后算出这
K
K
K个数的积作为这个组合的分数。
小奔想试遍所有的这些组合,然后算出所有这些组合的分数之和。但是他还要
出模拟赛虐爆我们这些蒟蒻,所以他只好把这个任务交给了你。
小奔(在某些方面)还是很仁慈的,所以你不用写高精度,只要输出答案膜
1
0
9
+
7
10^9+7
109+7 的结果就可以了。
输入格式
第一行两个整数 N N N 和 K K K。
第二行 N N N 个整数 A i A_i Ai 描述序列。
输出格式
一行一个整数表示答案。
样例 #1
样例输入 #1
3 3
1 1 1
样例输出 #1
1
样例 #2
样例输入 #2
4 3
1 1 1 2
样例输出 #2
7
提示
样例#2解释:
小奔
可以取{A[1],A[2],A[3]},{A[1],A[2],A[4]},{A[1],A[3],A[4]},{A[2],A[3],A[4]}
四种组合,它们的分值分别是
1
,
2
,
2
,
2
1,2,2,2
1,2,2,2。加起来就是
7
7
7。
数据范围:
对于10%的数据, N ≤ 5000 , K ≤ 2 N\le 5000,K\le 2 N≤5000,K≤2;
对于30%的数据, N ≤ 1 0 5 , K ≤ 3 N\le 10^5,K\le 3 N≤105,K≤3;
对于50%的数据, N ≤ 1 0 5 , K ≤ 5 N\le 10^5,K\le 5 N≤105,K≤5;
对于100%的数据, 1 ≤ N ≤ 1 0 5 , 1 ≤ K ≤ 300 & & K ≤ N , 1 ≤ A [ i ] ≤ 1 0 8 1\le N\le 10^5,1\le K \le 300 \& \& K\le N,1\le A[i]\le 10^8 1≤N≤105,1≤K≤300&&K≤N,1≤A[i]≤108。
Scratch实现
后续
接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容