本文主要是介绍【模拟赛】【DP】【线段树】2021.8.11.C,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 题目描述
- 思路
- 代码
题目描述
有n棵树,每棵树有一个高度 h i h_i hi,和权值 a i a_i ai,你可以从任何树出发,从左向右跳到高度差不大于m的树,求最大权值和,不需要跳到第n棵树
思路
第一眼确实想到是用DP
但是不知道怎么优化转移
然后就是DP + 线段树
设 f i f_i fi表示高度为i的最大权值和
然后线段树维护每一段高度的权值和的最大值
详情见代码
代码
#
这篇关于【模拟赛】【DP】【线段树】2021.8.11.C的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!