Lust 题解
很好的一道 EGF 入门题。
我们发现每一操作一次,答案增加多少,
于是答案即为
显然我们只需算出后面这坨的期望就行了,前面是固定的。
期望是困难的,先化为普通式子。
注意求和的那坨式子,看到
说来就来,写出 :
再把求和后面那一坨拎出来:
发现
左边这个求积的各项系数显然可以求出(方法放在后面),设其为
所以答案即为:
这里就做完了。
现在我们回过头来想怎么求出
我们想的是
以此类推,只要从
代码还是相当好写的。
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define rep(i, a, b) for (int i = (a); i <= (b); i++)
#define per(i, a, b) for (int i = (a); i >= (b); i--)
constexpr int MAXN = 5005;
constexpr int MOD = 1e9 + 7;
int qpow(int x, int y) {
int ans = 1;
while (y) {
if (y & 1)
ans = ans * x % MOD;
x = x * x % MOD;
y >>= 1;
}
return ans;
}
int a, n, k, c[MAXN];
signed main() {
cin >> n >> k;
c[0] = 1;
rep (i, 1, n) {
cin >> a;
per (j, i, 1) {
c[j] *= a;
c[j] -= c[j - 1];
c[j] = (c[j] + MOD) % MOD;
}
(c[0] *= a) %= MOD;
}
int ans = c[0], pw = 1;
rep (i, 0, n) {
(ans += MOD - pw * c[i] % MOD) %= MOD;
(pw *= (k - i) * qpow(n, MOD - 2) % MOD) %= MOD;
}
cout << ans << endl;
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)