首页 > 其他分享 >CF1267G Game Relics

CF1267G Game Relics

时间:2024-06-17 19:35:14浏览次数:10  
标签:圣物 frac int db CF1267G Game Relics

Game Relics

  • 首先猜一下(在 \(x\le c_i\) 的条件下),应该先抽奖,后剩下的全买
  • 考虑已经拥有了 \(k\) 个圣物,再又有一个圣物的期望代价为
    • \(E(X)=\frac{n-k}{n}x+\frac{k}{n}(E(X)+\frac{x}{2})\)
    • \(E(X)=x(1+\frac{k}{2(n-k)})\)
  • 随着随机选择,设还剩 \(k\) 个圣物没有,其代价和为 \(s\)
    • 若直接买下 \(E(Buy)=\frac{s}{k}\)
    • 若继续抽奖 \(E(Rand)=x(1+\frac{k}{2(n-k)})\)
    • 对于每种情况 \(E(Real)=min(E(Buy),E(Rand))\) 代价是最优的
  • 于是设 \(f_{i,c}\) 表示还剩 \(i\) 个数没选,没选数的代价和为 \(c\) 的方案数
  • \(f_{k+1,c}=\sum f_{k,c-c_i}\)
  • 我们只需要决策好每一个状态下一个选那个期望最优,然后成上概率就好了
  • 具体的 \(\frac{f_{k,c}}{\binom{n}{k}}E(Real)\) 就行了
#include <bits/stdc++.h>
using namespace std;
typedef double db;
const int N=110,C=10100;
int n,sum,v[N]; db x,dp[N][C];
int main()
{
    scanf("%d%lf",&n,&x); db ans=0; dp[0][0]=1;
    for(int i=1;i<=n;i++) scanf("%d",&v[i]), sum+=v[i];
    for(int i=1;i<=n;i++) for(int k=i-1;k>=0;k--)
    for(int c=v[i];c<=sum;c++)
    dp[k+1][c]+=dp[k][c-v[i]]*(k+1)/(n-k);
    for(int k=1;k<=n;k++)for(int s=0;s<=sum;s++)
    ans+=min(1.0*s/k,x*(1+1.0*(n-k)/(2*k)))*dp[k][s];
    printf("%.9lf\n",ans);
    return 0;
}

标签:圣物,frac,int,db,CF1267G,Game,Relics
From: https://www.cnblogs.com/LUHCUH/p/18253068

相关文章

  • World Tour Finals 2022 Day2 E: Adjacent Xor Game
    考虑从高到低位做,不断贪心的一个过程。即假设把当前所有数\(a_i\)看成\(\lfloor\frac{a_i}{2^d}\rfloor\),有当前最优答案\(ans_d\);现在把所有数看成\(\lfloor\frac{a_i}{2^{d-1}}\rfloor\),推出下一步的答案\(ans_{d-1}\)。假设\(/2^d\)时,每一步xor完的序列是\(a_1......
  • 【工具推荐】基于Win10系统自带软件Xbox Game Bar录屏后下载安装ffmpeg然后使用ffmpeg
    本文详细介绍了如何基于Win10系统自带软件XboxGameBar录屏,以及如何下载安装ffmpeg,然后如何使用ffmpeg将录屏得到的mp4视频转换为可用于博客中做功能演示用的gif动态图片,同时还提供了一个一键转换脚本,减少繁琐的操作步骤。......
  • 有针对Pygame封装好各种模块的第三方库吗???
    #创意设计        最近刚学完Python,想做一个自己的GUI程序,具体要做什么没想好,但方法让我有点犯难。问题如下:    1.做GUI程序,以我的水平Python下能用的只有Tkinter、Pygame和easygui了。    2.Tkinter之前用过,用途简单一点的话没什么问题,程序需求复......
  • 贪吃蛇小游戏Python Pygame实现
    运行结果 游戏规则1.↑↓←→来控制蛇的移动方向2.蛇吃到自己身体的任意一部分游戏结束,自动退出窗口3. 蛇的速度会随游戏时间增长越来越快,与吃食物的多少(分数)无关4.蛇可以穿过边界到达另一边5.场上食物同时只会存在一个,颜色随机,但每个颜色的所得分......
  • C#实验 综合实例:生命游戏 game of life
    C#实验综合实例:生命游戏gameoflife《面向对象实验》嗨,我是射手座的程序媛,期待与大家更多的学习与交流,欢迎添加3512724768一、实验目的1.熟练掌握C#开发,编写WinForm应用程序。2.全面加深面向对象编程的概念,如类、对象、实例化等。3.学会使用C#图形图像编程。二、......
  • P2734 [USACO3.3] 游戏 A Game
    原题链接题解首先,玩家一先选,那么玩家一该选最左边还是最右边呢?我们假设玩家一有穿越时空的能力,知晓了选择左边后的最大得分和选了右边后的最大得分,那么玩家一便能确定选哪个设\(dp[l][r]\)为当区间为\(l,r\)时先手最大分数选左边的最大得分:\(sumr-dp[2][r]+a[1]\)选右......
  • [Tkey] CodeForces 1267G Game Relics
    太神了这题,膜拜出题人orz。思考一首先是大家都提到的一点,先抽卡再买。这里来做个数学分析。假设我们还剩\(k\)种没有买,其实我们是有式子来算出它的花费期望的。WIKI上提到,假设一个事件的概率为\(p\),则遇到它的期望为\(\frac{1}{p}\),因此,对于这个题,抽到一个新物品的概率显......
  • CF1913C Game with Multiset
    题目Inthisproblem,youareinitiallygivenanemptymultiset.Youhavetoprocesstwotypesofqueries:ADD\(x\)—addanelementequalto\(2^{x}\)tothemultiset;GET\(w\)—saywhetheritispossibletotakethesumofsomesubsetofthecur......
  • 【读脑仪game】
    读脑仪(Brain-ComputerInterface,BCI)游戏是一种利用脑电信号来控制游戏的新型交互方式。这类游戏通常需要专业的硬件设备来读取用户的脑电信号,并将这些信号转化为游戏中的控制信号。编写这样的游戏代码涉及到多个方面,包括硬件接口的通信、信号处理、游戏逻辑编程等。由于这......
  • 16位简单ASM题的记录——[HGAME 2022 week1]easyasm
    第一次遇见16位,和纯看汇编的题目,记录一下DIE16位,IDA用32位或者64位都可以打开IDA主要汇编部分seg003:0000;===============SUBROUTINE=======================================seg003:0000seg003:0000;Attributes:noreturnseg003:0000seg003:0000......