zoukankan      html  css  js  c++  java
  • 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$的贡献

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

  • 相关阅读:
    Java 编程基础
    LING 实战
    C# 3.0\3.5 新特性
    EF Code First 入门
    C# 4.0 新特性
    JavaScript学习(二)
    JavaScript学习(一)
    csdn的blog后台程序的导航菜单的实现
    HashTable的遍历
    开通啦
  • 原文地址:https://www.cnblogs.com/withoutpower/p/10523572.html
Copyright © 2011-2022 走看看