• 「考试」省选27


    好像很迷?

    T1
    很奇怪的期望。
    根据那几个条件可以发现,概率最终会收敛到精度以下。
    我们只需要迭代足够的轮次即可。

    T2
    暴力的(O(n|S|2^n))都过了。。。
    奇怪。
    发现答案是求并集,考虑基础的并交容斥。

    (g(S),Ssubseteq A)(S)中的所有的情况中(S)的所有串的公共前缀长度*这种情况发生的方案数。
    (P(S)=),(S)中的问号个数。
    那么(g(S))对全局的贡献是(g(S)2^{P(A-S)})

    [ans=sumlimits_{Ssubseteq A}(-1)^{|S|-1}g(S)2^{P(A-S)} ]

    (hang[i][j])代表第(i)个串的问号前缀和。
    (dp[i]),(S)中的所有串的公共前缀长度为(i),同时不考虑(i)以后的部分的影响的情况下的方案。

    [gs[j]=sumlimits_{iin S}hang[i][j] ]

    其中(jin[1,min{len}])
    如果(S)中的每个串的第(i)位都不为(1),那么(ch[i][0]=1)(ch[i][1])的定义类似。
    (dp[i]=dp[i-1]*[ch[i][0]==1||ch[i][1]==1])
    另外一种全是问号的转移(gs[i+1]-gs[i]==|S| ightarrow dp[i]*=2)

    [g[S]=sumlimits_{i=1}^{min{len}}dp[i]*2^{gs[max{len}]-gs[i]} ]

    这个的原因是考虑每一个位置做出的贡献。
    这样就可以求出答案了。
    预处理一下可以做到(O(|S|2^n))

    T3
    首先没有小部分分。
    猜结论。
    发现如果除了(i)之外的雷达全都确定高度了,那么(i)的最优决策一定是(0)或者(y_i)
    考虑一个(O(n^2))的暴力。
    按照(x+y)排序然后直接暴力(dp)
    事实上把枚举范围卡到300以内就可以(AC)了。
    发现转移按照(L_i)分成了两部分。
    对于:(R_j<=L_i)的部分可以直接前缀(max)+二分。
    如果:(R_j>L_i)
    这一部分我们要求东西有决策单调性 。
    题解说是搞一个二分单调栈就行。
    然后听脸哥讲了一下,发现如果不在乎(log^2)的复杂度的话,其实直接用(cdq)+决策单调性的模板就可以了。
    先更新左边然后在当前区间用左边更新右边,然后处理右边就行了。

  • 相关阅读:
    自动封箱和拆箱
    关于Java的一道内存的题目
    volatile关键字
    阶乘尾零
    Java之final的解析
    从1到n整数中1出现的次数
    最小安装雷达数量
    二叉树重建
    最短路径—Dijkstra算法
    PAT A1063——set的常见用法详解
  • 原文地址:https://www.cnblogs.com/Lrefrain/p/12336320.html
Copyright © 2020-2023  润新知