hdu 4374 DP+单调队列优化dp 不知道...

摘要: 零件组装 描述 现有n个零件,小Y花费了很多时间来收集它们,现在他想把零件拼在一起,拼完就可以召唤神龙了。已知零件之间存在相邻的关系,拥有相邻关系的零件在最终的组装结果中就是相邻的,并且组装过程中每次只能通过相邻关系来组合零件。小Y每次可以选择两个零件(也可以是两个零件块,或一个零件与一个零件块)拼

摘要: 题意 腾讯推出了一款益智类游戏――消消乐。游戏一开始,给定一个长度为n的序列,其中第i个数为A[i], 游戏的目标是把这些数全都删去,每次删除的操作为:选取一段连续的区间,不妨记为[L,R], 如果这一段区间内所有数的最大公约数 >= k(k的值在游戏的一开始会给定),那么这一段区间就能被直接删去。

摘要: 1010: [HNOI2008]玩具装箱toy Description P教授要去看奥运,但是他舍不下他的玩具,于是他决定把所有的玩具运到北京。他使用自己的压缩器进行压缩,其可以将任意物品变成一堆,再放到一种特殊的一维容器中。P教授有编号为1...N的N件玩具,第i件玩具经过压缩后变成一维长度为Ci

摘要: 3437: 小P的牧场 Description 背景 小P是个特么喜欢玩MC的孩纸。。。 描述 小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧场一

摘要: 3156: 防御准备 Description Input 第一行为一个整数N表示战线的总长度。 第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai。 第一行为一个整数N表示战线的总长度。 第二行N个整数,第i个整数表示在位置i放置守卫塔的花费Ai。 Output 共一个整数,表示最小的战线花

给一个n*m的举证,从第一行的x处,走到最后一行,求途中经过的数字和最大,每行最多能朝一个方向走t步.

很容易想到dp方程, dp[i][j]代表走到第i行第j列,并且下一步到第i+1行的最大值
很明显如果暴力枚举每一个k的话,会超时,再仔细想想,其实对于每个dp[i][j], 我们需要的
就是从左到右的dp[i][j]的***。这时候就可以想到用一个单调队列维护这个最大值了,可以
维护队首最大,每次从队尾入队,并保证单调性(把小的删掉),并把队首不在t步范围内的
删掉。然后分别从左到右,从右到左这样搞一遍,***就出来了。

版权声明:本文为博主原创文章,未经博主允许不得转载。 /u/article/details/

题目大意:一个n层的楼,每层楼有m个格子,每个格子有一定的价值。在每一层楼只能向一个方向走最多走t步, 开始在顶层的x位置,问到底层的路线上能得到的价值最大。 解题思路:从下往上走,每个状态dp[i][j]为从i层j格子到底层所能得到的最大价值。 由于max里面包含的项都已知切与j无关。故可以用单调队列,维护单调递增即可。

参考资料

 

随机推荐