#CF961G. Partitions

Partitions

题目描述

给定一个包含 nn 个元素的集合,元素编号从 11 到 nn。第 ii 个元素的权值为 wiw_i。某个子集的权值记为 。将该集合划分为 kk 个子集的某个划分 RR 的权值为 (回忆一下,集合的划分是指将集合划分为若干个子集,使得每个元素恰好属于一个子集)。

请计算将给定集合划分为恰好 kk 个非空子集的所有划分的权值之和,并输出其对 109+710^9+7 取模的结果。若存在两个元素 xx 和 yy,在某个划分中属于同一个子集,在另一个划分中属于不同子集,则这两个划分被认为是不同的。

输入格式

第一行包含两个整数 nn 和 kk(1≤k≤n≤2⋅1051 \leq k \leq n \leq 2 \cdot 10^5),分别表示元素个数和每个划分中的子集个数。

第二行包含 nn 个整数 wiw_i(1≤wi≤1091 \leq w_i \leq 10^9),表示集合中每个元素的权值。

输出格式

输出一个整数,表示将集合划分为 kk 个非空子集的所有划分的权值之和,对 109+710^9+7 取模。

输入输出样例 #1

输入 #1

4 2
2 3 2 3

输出 #1

160

输入输出样例 #2

输入 #2

5 2
1 2 3 4 5

输出 #2

645

说明/提示

第一个样例的所有可能划分如下:

  1. {{1,2,3},{4}}\{\{1,2,3\},\{4\}\},W(R)=3⋅(w1+w2+w3)+1⋅w4=24W(R)=3\cdot(w_1+w_2+w_3)+1\cdot w_4=24;
  2. {{1,2,4},{3}}\{\{1,2,4\},\{3\}\},W(R)=26W(R)=26;
  3. {{1,3,4},{2}}\{\{1,3,4\},\{2\}\},W(R)=24W(R)=24;
  4. {{1,2},{3,4}}\{\{1,2\},\{3,4\}\},W(R)=2⋅(w1+w2)+2⋅(w3+w4)=20W(R)=2\cdot(w_1+w_2)+2\cdot(w_3+w_4)=20;
  5. {{1,3},{2,4}}\{\{1,3\},\{2,4\}\},W(R)=20W(R)=20;
  6. {{1,4},{2,3}}\{\{1,4\},\{2,3\}\},W(R)=20W(R)=20;
  7. {{1},{2,3,4}}\{\{1\},\{2,3,4\}\},W(R)=26W(R)=26;

第二个样例的所有可能划分如下:

  1. {{1,2,3,4},{5}}\{\{1,2,3,4\},\{5\}\},W(R)=45W(R)=45;
  2. {{1,2,3,5},{4}}\{\{1,2,3,5\},\{4\}\},W(R)=48W(R)=48;
  3. {{1,2,4,5},{3}}\{\{1,2,4,5\},\{3\}\},W(R)=51W(R)=51;
  4. {{1,3,4,5},{2}}\{\{1,3,4,5\},\{2\}\},W(R)=54W(R)=54;
  5. {{2,3,4,5},{1}}\{\{2,3,4,5\},\{1\}\},W(R)=57W(R)=57;
  6. {{1,2,3},{4,5}}\{\{1,2,3\},\{4,5\}\},W(R)=36W(R)=36;
  7. {{1,2,4},{3,5}}\{\{1,2,4\},\{3,5\}\},W(R)=37W(R)=37;
  8. {{1,2,5},{3,4}}\{\{1,2,5\},\{3,4\}\},W(R)=38W(R)=38;
  9. {{1,3,4},{2,5}}\{\{1,3,4\},\{2,5\}\},W(R)=38W(R)=38;
  10. {{1,3,5},{2,4}}\{\{1,3,5\},\{2,4\}\},W(R)=39W(R)=39;
  11. {{1,4,5},{2,3}}\{\{1,4,5\},\{2,3\}\},W(R)=40W(R)=40;
  12. {{2,3,4},{1,5}}\{\{2,3,4\},\{1,5\}\},W(R)=39W(R)=39;
  13. {{2,3,5},{1,4}}\{\{2,3,5\},\{1,4\}\},W(R)=40W(R)=40;
  14. {{2,4,5},{1,3}}\{\{2,4,5\},\{1,3\}\},W(R)=41W(R)=41;
  15. {{3,4,5},{1,2}}\{\{3,4,5\},\{1,2\}\},W(R)=42W(R)=42。

由 ChatGPT 4.1 翻译