U332154 carbon 题解(期望)
1.CF1656E(构造思想)2.P10178(构造思想)3.P10179(构造思想+实现)4.P3963 (平衡树思想)5.P10156(dp思想)6.P3939 (ds实现)7.CF776D(并查集思想)8.CF243A (拆位思想)9.ABC283E (dp思想)10.AT_joi2015ho_b (dp思想)11.P9588 (ds思想)12.CF482B (拆位思想+实现)
13.U332154 carbon 题解(期望)
14.U329011 trie pi 题解15.[ARC128D](计数dp)16.P1081 (倍增+代码实现技巧)17.CF1537D (博弈论+找规律)18.CF1557D (dx)(dp技巧)19.P3165/P2596(文艺平衡树套路)20.吉司机大杂烩21.ARC149C (构造)22.CF19D(树套树)23.网络流大杂烩24.U417376题解25.CF1748E(笛卡尔树)26.[CERC2019] Be Geeks!27.「Cfz Round 2」Binary28.CF1833G29.P1028230.CF1939C31.2024省选OIFC模拟T132.P140733.P10218 魔法手杖34.P165335.取模二题36.CF1699C37.ABC35238.P6627 [省选联考 2020 B 卷] 幸运数字39.P6619 [省选联考 2020 A/B 卷] 冰火战士40.2024PKUSC游记这题其实挺简单的......
首先我们手模样例,对于第一组样例其实就是在1-n之间取一个数,求取到的数的期望。所以E(x)=。
对于第二组样例,我们首先将所有可能情况枚举出来:
10 10 10 10 10 10 10 10 10 10
9 9 9 9 9 9 9 9 9 10
8 8 8 8 8 8 8 8 9 10
7 7 7 7 7 7 7 8 9 10
6 6 6 6 6 6 7 8 9 10
5 5 5 5 5 6 7 8 9 10
4 4 4 4 5 6 7 8 9 10
3 3 3 4 5 6 7 8 9 10
2 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
这行10可太突兀了
我们可以惊奇地发现它是一层包一层的,而对于每个数i,它在数组中出现了次,所以他对期望的贡献就是
所以
所以答案就是
考虑拓展成m维的矩阵:
对于每个数i,它在数组中出现了次,所以它对答案的贡献就是
所以
到这里好像已经能对付这个数据了,但是大约有位,是肯定开不下的,我们不妨对公式进行变型
这样就可以啦,公式符合直觉,因为当m很大时接近n
#include<bits/stdc++.h>
using namespace std;
long long T,n,m;
double qpow(double b,long long p){
double ans=1,t=b;
while(p!=0){
if(p&1){
ans*=t;
}
t=t*t;
p=p>>1;
}
return ans;
}
int main(){
cin>>n>>m;
double sum=0;
for(int i=1;i<=n-1;i++){
sum+=qpow(i*1.0/n,m);
}
printf("%.2lf\n",n-sum);
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?