「考试」省选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)+决策单调性的模板就可以了。
先更新左边然后在当前区间用左边更新右边,然后处理右边就行了。

原文地址:https://www.cnblogs.com/Lrefrain/p/12336320.html