Processing math: 0%

随笔分类 -  C++_DP

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

点击右上角即可分享
微信分享提示
🚀
回顶
收起