2023NOIP A层联测25 T2 游戏

2023NOIP A层联测25 T2 游戏

优秀且新颖的期望题。

思路

分析问题,由于双方都是最优策略,所以可以说学生知道老师会选择那些教室设置概率(概率设置好就不能改变),老师也知道学生会怎样选择教室(不是知道一定会去那个)。

设老师选择的集合是 S

那么老师在学生不清空的情况下,老师的期望为 iSpiaipi 是概率)。

学生知道每一项 i 的贡献,所以由于学生要使老师的期望最小,那么学生肯定选 max(piai)

于是答案为 iSpiaimax(piai)

对于最大的那一项 piai 来说,由于他们肯定会被选走,所以说老师不妨把 pi 改小一点,多出来的概率分给其他的数,虽然总和减小了,但被减掉的部分也减小了,而且不会被减掉的部分增加了,所以答案将获得最优。

那么最好情况下,我们要使得 iSpi=1 且对于任意 i 而言 piai 相等。

可以构造

pk=1akiS1ai

这个 pk 是符合条件的。

现在问题变为要怎样是答案最大。

答案最大要是 pi 最小,pi 最小要使 iS1ai 最小,也就是使 ai 最大。

设集合 Sm 个数,那么取最大 m 个即可。

而且这样答案合式可化为:

iSpiaimax(piai)=miS1ai1iS1ai=m1iS1ai

对答案排序后,枚举 m 即可。

CODE

#include<bits/stdc++.h>
using namespace std;

int n;
int a[55];

double ans,sum;

bool cmp(int a,int b){return a>b;}

int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++) sum+=1.0/a[i],ans=max(ans,(i-1)/sum);
    printf("%.12lf",ans);
}
posted @   彬彬冰激凌  阅读(10)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示