高中OJ1771. 【NOIP动态规划专题】烽火传递
2016-11-09 19:02
483 查看
题目大意:
在一个长度为N的序列当中选出任意个数,使得其中任意连续M个数中至少有一个数被选,求选出数之和的最小值。
题目分析:
显而易见的DP。
设F[i]表示序列中从1~i位置满足条件且第i个位置必选的最小值
(初始化自己想)
先假设M=3 0表示未选 1表示选
0 1 0 0 1 0 0
的情况也是可以的。
所以可以得出方程:
F[i]=F[i-j]+a[i]
得分:80分
帅气的满分做法:
因为二重循环的时间复杂度是O(nm)所以会爆
SO我们维护一个小根堆(好吧我承认我不知道单调队列),把F数组的元素放进去,每次拿走堆顶元素直到该元素符合要求。
为了满足所有位置,最后答案是min(F[i]) (i=n-m+1~n)
注释:
因为这题不算很难,所以有些细节地方就留给读者自行思考了。
在一个长度为N的序列当中选出任意个数,使得其中任意连续M个数中至少有一个数被选,求选出数之和的最小值。
题目分析:
显而易见的DP。
设F[i]表示序列中从1~i位置满足条件且第i个位置必选的最小值
(初始化自己想)
先假设M=3 0表示未选 1表示选
0 1 0 0 1 0 0
的情况也是可以的。
所以可以得出方程:
F[i]=F[i-j]+a[i]
得分:80分
帅气的满分做法:
因为二重循环的时间复杂度是O(nm)所以会爆
SO我们维护一个小根堆(好吧我承认我不知道单调队列),把F数组的元素放进去,每次拿走堆顶元素直到该元素符合要求。
为了满足所有位置,最后答案是min(F[i]) (i=n-m+1~n)
注释:
因为这题不算很难,所以有些细节地方就留给读者自行思考了。
相关文章推荐
- 【NOIP动态规划专题】采药2
- 2540. 【NOIP动态规划专题】采药2 (Standard IO)
- 【NOIP动态规划专题】采药2 (Standard IO)
- JZOJ 3418. 【NOIP动态规划专题】选课
- 【NOIP动态规划专题】最大利润
- 2.24 --- 2.25 动态规划专题小测 及 NOIP 2008 模拟 总结
- JZOJsenior1168.【NOIP动态规划专题】合唱队形
- jzoj P1029【NOIP动态规划专题】电子眼
- 【jzoj3418】【NOIP动态规划专题】【选课】【树型依赖动态规划】
- JZOJ 4.1 C组 【NOIP动态规划专题】电子眼
- NOIP专题复习——专题二:动态规划基础
- JZOJ3418. 【NOIP动态规划专题】选课(2017.8DP&贪心专题)
- JZOJ8.11(C组)【NOIP动态规划专题】采药2 (Standard IO)
- 动态规划专题:找啊找啊找GF
- 动态规划之单调队列优化专题
- 动态规划专题训练:(全部是紫书上的题——做到吐)
- 动态规划之斜率优化专题
- 动态规划专题之数塔问题
- 动态规划专题
- 动态规划:利用WarShell算法求有向图的传递闭包