• AGC019F


    题目大意

    $n$ + $m$ 个问题,其中$n$ 个答案是$YES$,$m$个是$NO$的,你依次答题,每答一道,就可以立刻知道这道题的答案,求在最优策略下答错次数的期望,对$998244353$取模.

    分析

    很显然,如果当前有$i$个答案是$YES$,$j$个答案是$NO$,如果$i!=j$那么我们肯定选择剩余答案多的那个回答,如果$i=j$,我们只能随便猜一个回答.

    容易发现,我们猜测$n+m$次答案的过程,可以抽象成在平面上从$(n,m)$走到$(0,0)$的过程,我们假定$YES$为向左,$NO$为向下.

    当我们不经过$y=x$这条直线时,$i$和$j$的大小关系是不会改变的,因此我们只会一直向一个方向走.

    因此,假设我从$(n,m) (n!=m)$第一次经过$y=x$是在点$(v,v)$,那么因为我只会向一个方向走,所以一定是答对了$max(n, m)-v$道问题.

    考虑$n=m$的情况,显然,只要任意走一步,它就变成了刚才的$n!=m$的情况,走到下一个$y=x$的地方,假设是$(u,u)$,

    也一定答对了$n - u$道题.

    因此,如果不考虑在对角线处选择的答案的正误,从$(n,m)$走到$(0,0)$的期望步数就是$max(n,m)$的.

    现在我们来考虑对角线的情况,在对角线上有$1/2$的概率产生$1$的贡献

    我们只要暴力枚举通过对角线上每一个点的概率即可.

  • 相关阅读:
    你所不知道的 C# 中的细节
    数据分析与数据挖掘 ---- 系列教程
    Tiny Core Linux 安装配置
    Debian 安装
    基于C#的内网穿透学习笔记(附源码)
    Layui前端框架介绍
    使用 C# 捕获进程输出
    sonar扫描——方法重构分析
    消除代码中的坏味道,编写高质量代码
    TensorFlow之张量
  • 原文地址:https://www.cnblogs.com/withoutpower/p/10523572.html
Copyright © 2020-2023  润新知