思维题 笔记

这篇博客主要探讨了各类思维题和构造题的解题策略。涵盖了洛谷、CF等平台的题目,如洛谷T200118童年、CF1528B Kavi on Pairing Duty等,涉及贪心、DP、动态规划、并查集等算法。通过具体的题目分析,讲解了解题过程和关键思路,旨在帮助读者提升算法思维和解题能力。
摘要由CSDN通过智能技术生成

思维题

洛谷 T200118 童年

考虑进入一颗子树 u u u,使得该操作不会亏损苹果,至少需要的苹果数为 f u f_u fu

dfs 遍历每个 u u u,考虑如何求出 f u f_u fu ,维护一个优先队列 q q q 和当前苹果数 c u r cur cur,初始 f u = − a i f_u=-a_i fu=ai,按 f v f_v fv 的大小依次 bfs 遍历 u u u 子树的每个 v v v,如果 c u r < f v cur<f_v cur<fv ,即需要更多的苹果才可能赚到, f u ← f u + f v − c u r f_u \leftarrow f_u+f_v-cur fufu+fvcur,否则 c u r ← c u r − f v cur \leftarrow cur-f_v curcurfv,任意时刻如果 c u r ≤ f u cur\leq f_u curfu 退出循环,如果 c u r cur cur 始终小于 f u f_u fu,即赚不到苹果, f u = i n f f_u=inf fu=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值