日记
十分颓废。
看到:n≤20,直接状压。一开始设的状态是:dps,i 表示已经走过的点的状态是 s,i 的失败概率。但是我们发现:有了 s,已经可以确定 i 是否失败了,而且这个状态转移也很麻烦。考虑换一种状态。
我们设 dps,i 表示走过的点状态为 s,当前在 i 的概率。考虑如何转移。我们设当前 i 有 cnt 个备选。循环每个与 i 有边的点 j,那么显然转移有:dps∪{j},j←dps,i×cnt1。如果 cnt=0,就把 ansi 加上 dps,i,表示这种状态会输,并不进行转移。
时间复杂度 O(n22n),实现不能太劣。
考虑设 fi 表示不保存打 i 个字符的期望时间。那么显然有 fi=fi−1+1+p×fi。转换一下就是 fi=1−pfi−1+1+p×r。
设 dpi 表示保存打 i 个字符的期望时间。初始化就是 dpi=fi。转移有 dpi=minj=0i{dpj+t+fi−j}。表示在 j 的位置保存并打 i−j 个字符。
最后答案就是 dpn+t。
唐题。
直接从 [n,n] 开始 bfs 看看能不能给正方体的每个面都染色就行了。
今天晚上有久违的 div.2。切掉 T3 就是半赢。切掉 T4 就是赢!