求助一道初赛题目,玄关
  • 板块学术版
  • 楼主CHEN08_94
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/9/15 08:50
  • 上次更新2024/9/15 12:14:29
查看原帖
求助一道初赛题目,玄关
633110
CHEN08_94楼主2024/9/15 08:50

豪豪哥刚来到家中时是一只力量为 11、精力有 mm 点的小猫。在家中,一共有 nn 个物品,其中编号为 1 的物品重量为 0,编号为 2 的物品重量为 1,以此类推。若豪豪哥的力量大于或等于物品的重量,它便可以将物品打翻并且自身力量增加 1 点,但是前提是豪豪哥有足够的精力去打翻这个物品,否则豪豪哥将累死(精力为 0 时并不会累死)。注意,每个物品都会消耗豪豪哥的精力。现在豪豪哥想知道如果它总是尽力去打翻物品(要么累死,要么打翻所有物品),那么它的能力值的期望最终是多少。由于小数点比较麻烦,因此你只需要输出期望 n!n! 关于 1000000007 取模后的值就可以了。

输入格式

第一行有两个数 n,mn,m,表示有 nn 个物品和豪豪哥的初始精力(1n500000,1m1091≤n≤500000,1≤m≤10^9)。接下来一行有 nn 个数,aia_i 表示编号为 ii 的物品消耗的豪豪哥的精力(0aim0≤a_i≤m)。

输出格式

输出期望 n!n! 关于 10000000071000000007 取模后的值就可以了。

样例 1

输入样例

5 4 1 1 1 1 1

输出样例

104

以上是这道初赛填充程序题目的题面,题目给的解题思路是

解题思路:

fif_i为至少打翻i个物品的方案数,那么恰好打翻i个物品的方案数为fifi+1f_i-f_{i+1},打翻物品的期望就为(f1f2+2(f2f3))+...+n(fnfn+1)/n!(f_1-f_2+2*(f_2-f_3))+...+n*(f_n-f_{n+1})/n!,化简即为i=1nfi\sum_{i=1}^{n}f_i

不能理解这个是怎么推出来的

2024/9/15 08:50
加载中...