随笔分类 - C++_DP
摘要:一些博客 一个比较完整的总结 带权二分 决策单调性 未来费用区间DP 做题记录 SCOI2010 股票交易 设 \(f[i][j]\) 表示第 \(i\) 天拥有 \(j\) 张股票的最大收益,不难发现,每一天都不会即买入又卖出,于是就会有三种情况: 不买不卖:\(f[i][j]=f[i-1][j]
阅读全文
摘要:题意 给定一个序列,一些位置未确定(是$o$与$x$的几率各占$50%$)。对于一个$ox$序列,连续$x$长度的$o$会得到$x^2$的收益,请问最终得到的序列的期望收益是多少? 算法 期望DP 思路 一段一段地处理其实并不方便,因为我们并不知道一段连续$o$的长度(它会随着你的选择而变化)。 于
阅读全文
摘要:算法 期望DP入坑题 思路 设$f_{i,j}$为第$i$时刻,电梯上正好有$j$人的概率,于是有: $$\left{\begin{f_{i + 1,j + 1}=f_{i,j}\times p}\{f_{i+1,j}=f_{i,j}\times (1-p)} \end \right. $$ 采用刷
阅读全文
摘要:思路 \(n \leq 18\),一看就很状压。 设$f_{st,i}$为当前状态为$st$(二进制下第$x$位为$1$时表示选了第$x$个),最后一个选了$i$时的最大满意度(记录$i$是为了计算吃菜顺序的额外贡献),则有: $$ f_{st,i} = max(f_{pre,j} + a_i +
阅读全文
摘要:思路 首先,我们根据题意建树,并给边附上权值:原有的边权值为$0$,反向边权值为$1$,代表走这条边所需代价。 第一次$DFS$,钦定$1$为根,我们可以求出以$1$为根的答案。 第二次$DFS$,考虑根由$u$转移到$v$时答案会怎么变。 若$u$到$v$的边权为$0$,那么一开始我们是从$u$到
阅读全文
摘要:题意补充 事实上,$A$每次能染的$k$个节点并不一定与$B$所在节点相邻,换言之,$A$可以提前染一些节点使得$B$以后走不到。 数据范围:$1 \leq n \leq 300000$ 算法 二分答案 + 树形DP 思路 二分每次染的节点个数$k$,再用树形DP检查; 设$f_u$为以$u$节点为
阅读全文
摘要:题意 中文题面,不再赘述 算法 树形DP + 贪心乱搞 思路 所有无法描述的正解都是贪心算法 不过这道题还是可以感性理解的 设$f_u$为以$u$为根的子树内最大毛毛虫的大小(尽管答案并不可以由它直接得出),则: $$ f_u = max(f_v) + 1 + min(siz_u - 1, 0) \
阅读全文
摘要:树形依赖背包 一般形式:给定一颗$n$个节点的点权树,要求选出$m$个节点使得这些选出的节点的点权和最大,一个节点能选当且仅当其父亲节点被选中,根节点能直接选。 一般解法: 用$f_{u,i}$表示在$u$的子树中选择$i$个节点(包括本身)的最大价值,转移方程为:\(f_{u,i} = max(f
阅读全文
摘要:题意 合并一堆数,每次合并相加或相乘(题目已给出),设计合并顺序使得最终答案最大 其实就是一个区间DP 设$f_{i, j}\(为合并区间\)[i,j]$的最大价值 加法很好写:\(f_{i, j} = max_{k \geq i}^{k < j}{(f_{i, k} + f_{k + 1, j})
阅读全文

浙公网安备 33010602011771号