• 11/20总结报告


    这周也是学了概率dp,但是这个概率dp学的有点个模糊,感觉不是很好, 感觉这个概率dp挺难的,首先是这个概率dp没有固定的模板,然后就是要在对题目的充分理解下合理运用各种相关的概率公式,本来以为学了概率统计学这个应该还能好点,结果其实还是看不懂,

    比如:2096 -- Collecting Bugs (poj.org)

    这道题其实看起来还是挺好写的

    他可以分为四种情况:
    1.发现一个bug属于已经有的i个分类和j个系统,概率为(i/n)*(j/s);
    2.发现一个bug属于已有的分类,不属于已有的系统,概率为 (i/n)*(1-j/s);
    3.发现一个bug属于已有的系统,不属于已有的分类,概率为 (1-i/n)*(j/s);
    4.发现一个bug不属于已有的系统,不属于已有的分类,概率为 (1-i/n)*(1-j/s);

    这道题是那种看懂题目可以直接写出代码的,只要写出不同情况下的概率,然后分情况进行状态转移求期望就好了

    1. for(int i=n; i>=0; i--)
    2. {
    3. for(int j=s; j>=0; j--)
    4. {
    5. if(i==n&&j==s) continue;
    6. double tep=1.0;
    7. if(i1.0-i)*j/(n*s)*dp[i+1][j];
    8. if(j1.0-j)*i/(n*s)*dp[i][j+1];
    9. if(i1.0-i)*(s*1.0-j)/(n*s)*dp[i+1][j+1];
    10. dp[i][j]=tep/(1-(i*j*1.0)/(s*n));
    11. }
    12. }

    还有几道类似的:D. Bag of mice   也是只要分情况求概率就可以写出来,

    那么另外一些就是题目异常难懂,根本列不出概率,就更别说状态转移了

    比如:NC210481 筛子游戏

    我看不太懂这写题目是要怎么列出的概率公式,看了题解感觉也是没大看明白,打算下周先做做几道题目看看练一练。

  • 相关阅读:
    c++继承
    lru_cache python
    一键将Web页面保存至Anki
    @Scope与@RefreshScope注解
    java程序中为什么经常使用tomcat
    DVWA 之 SQL注入(非盲注)
    git命令
    Vue2.0开发之——Vue基础用法-过滤器(26)
    Vue组件化编程详解
    【跨境电商】EDM邮件营销完整指南(一):概念,区别与优势
  • 原文地址:https://blog.csdn.net/weixin_60840655/article/details/127955233