标签:limits == log 雷达 复杂 inline 更新 枚举 hang
好像很迷?
T1
很奇怪的期望。
根据那几个条件可以发现,概率最终会收敛到精度以下。
我们只需要迭代足够的轮次即可。
T2
暴力的\(O(n|S|2^n)\)都过了。。。
奇怪。
发现答案是求并集,考虑基础的并交容斥。
设\(g(S),S\subseteq A\)为\(S\)中的所有的情况中\(S\)的所有串的公共前缀长度*这种情况发生的方案数。
\(P(S)=\),\(S\)中的问号个数。
那么\(g(S)\)对全局的贡献是\(g(S)2^{P(A-S)}\)
\[ans=\sum\limits_{S\subseteq A}(-1)^{|S|-1}g(S)2^{P(A-S)}\]
\(hang[i][j]\)代表第\(i\)个串的问号前缀和。
\(dp[i]\),\(S\)中的所有串的公共前缀长度为\(i\),同时不考虑\(i\)以后的部分的影响的情况下的方案。
\[gs[j]=\sum\limits_{i\in S}hang[i][j]\]
其中\(j\in[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|\rightarrow dp[i]*=2\)
\[g[S]=\sum\limits_{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\)+决策单调性的模板就可以了。
先更新左边然后在当前区间用左边更新右边,然后处理右边就行了。
标签:limits == log 雷达 复杂 inline 更新 枚举 hang
原文地址:https://www.cnblogs.com/Lrefrain/p/12336320.html