zoukankan      html  css  js  c++  java
  • 2019.10.13题解

    A. 简单的序列

    标签:Dp/卡特兰数

    题解:

    Dp做法:

    设dp[i][j]代表填了i个空有j个括号未匹配的方案:

    $ dp[i][j]=(dp[i-1][j+1]+dp[i-1][j-1]); $

    $ ans=sumlimits_{i=0}^{n-m}sumlimits_{j=0}^{min(i-L,n-m-i-R)}dp[i][j+L]*dp[n-m-i][j+R] $


    卡特兰数做法:

    设左边有x个右括号,R+y个左括号,易得方案数为C(x+y+R,x)-C(x+y+R,x-1),右边同理。

    B. 简单的期望 

    标签:Dp

    一套题靠两道Dp题出题人真良心

    题解:

    这道题在考场上思考的太少了,押宝押在了T3但最终还是没能押中

    ×2的操作比较好处理,关键在于+1的操作如何准确处理进位

    因为n<=200,所以对答案有贡献的进位最多在第8位,

    而第9位及以上我们关注的是它的低位连续0/1的长度(因为+1对它没有影响),并不关心1的具体分布情况

    所以考虑设:

    f[i][j][0/1][k]代表进行了i次操作,前8位状态为j,第9位是0/1,且9位及以上有k个连续的0/1的概率

    本题的Dp转移思路很清晰,难点在于对题目的分析和Dp的定义

    C. 简单的操作

    标签:图论

    题解:

    先考虑-1的情况:一定是有奇环,这个可以用二分图染色判掉

    再考虑树的特殊情况:答案就是树的直径

    接着考虑联通图:引用Deepinc的话:

    直径是什么?联通块里任意两点之间的最短路的最大值。

    在树上加边形成环,得到联通图,上述结论依然成立。

    最后对于一个普通的图来说把所有的联通块的链长度加和即可

  • 相关阅读:
    Qt发送事件与自定义事件
    Qt文本流和数据流
    Qt文件操作
    Qt 布局管理器
    Qt 标准对话框
    Qt 对话框QDailog及其类型
    Qt 对象间的父子关系
    Qt 信号与槽
    Qt 计算器界面实现
    C++ 多态、虚函数(virtual 关键字)、静态联编、动态联编
  • 原文地址:https://www.cnblogs.com/AthosD/p/11669636.html
Copyright © 2011-2022 走看看