站外题求助
  • 板块学术版
  • 楼主WaterZAQiu
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/7 14:06
  • 上次更新2024/10/7 16:00:36
查看原帖
站外题求助
1187180
WaterZAQiu楼主2024/10/7 14:06

题目描述题目描述

小y得到了一根木材,并计划将其分成nn段,第ii段的质量为mim_i

小y需要将每一段木材分别锯开并加工。每次选择一段木材,将其连同相邻部分抬入机器,机器会锯开与相邻段相连的部分,被选择的木材会留在机器的输出区域,剩余的木材会从机器上掉到地上。

对于在地上的已经切割好的木材,小y也需要将其抬到机器的输出区域上。

小y的体力消耗定义为每次将木材抬进机器的总重量。小y有n!n!种加工顺序,想知道所有顺序下总体力消耗的和。

你只需告诉小y答案对109+710^9+7取模的结果。

输入格式输入格式

第一行一个正整数nn

第二行 nn 个正整数,其中第 ii 个表示mim_i

输出格式输出格式

一行一个整数表示答案。

输入输出样例输入输出样例

输入 #1

2
1 2

输出 #1

9

输入 #2

4
1 1 1 1

输出 #2

212

输入 #3

10
1 2 4 8 16 32 64 128 256 512

输出 #3

880971923

样例1说明样例1说明

如果小y先选第 11 段,再选第 22 段,那么他先要把整块木材抬进机器,质量为 33 ,加工好第 11 段后他要把第 22 段木材抬进机器,花费体力为 3+2=53+2=5

如果小y先选第 22 段,再选第 11 段,那么他先要把整块木材抬进机器,质量为 33 ,加工好第 22 段后他要把第 11 段木材抬进机器,花费体力为 3+1=43+1=4

所以答案为 5+4=95+4=9

样例2说明样例2说明

如果小y选择的顺序是第 22 段,第 33 段,第 11 段,第 44 段,那么他先要把整块木材抬进机器,质量为 44 ,把木材锯成第 11 段,第 22 段,第 3,43,4 段的三块。加工好第 22 段后把包含第 3,43,4 段的一块抬进机器,质量为 22 ,把木材锯成第 33 段和第 44 段的两块。加工好第 33 段后把独立的第 11 段抬进机器,质量为 11 ,加工好第 11 段后把独立的第 44 段抬进机器,质量为 11 。此时小y需要花费的体力为 4+2+1+1=84+2+1+1=8

由于情况较多,这里不一一列举。

数据规模与约定数据规模与约定

保证 mi109+7m_i≤10^9+7

2024/10/7 14:06
加载中...