问题 E: HNOI2004] 打砖块
时间限制: 1 Sec 内存限制: 128 MB
题目描述
【题目描述】

在一个凹槽中放置了n层砖块,最上面的一层有n块砖,第二层有n-1块,……最下面一层仅有一块砖。第i层的砖块从左至右编号为1,2,……i,第i层的第j块砖有一个价值a[i,j](a[i,j]<=50)。下面是一个有5层砖块的例子:

如果你要敲掉第i层的第j块砖的话,若i=1,你可以直接敲掉它,若i>1,则你必须先敲掉第i-1层的第j和第j+1块砖。

你的任务是从一个有n(n<=50)层的砖块堆中,敲掉(m<=500)块砖,使得被敲掉的这些砖块的价值总和最大。

【输入格式】

你将从文件中读入数据,数据的第一行为两个正整数,分别表示n,m,接下来的第i每行有n-i+1个数据,分别表示a[i,1],a[i,2]……a[i,n – i + 1]。

【输出格式】

输出文件中仅有一个正整数,表示被敲掉砖块的最大价值总和。

【样例输入】

4 5
2 2 3 4
8 2 7
2 3
49
【样例输出】

19
(敲掉第一层的四块砖,再敲掉第二层的第一块砖,2+2+3+4+8=19)

这道题转移好神奇。。
也许把样例这么写看起来舒服一点
2 2 3 4
8 2 7
2 3
49
如果按行处理太麻烦了,那么来考虑按列处理,那么当前这一列就只与前一列有关。
f[k][i][j]: 共选取了k个时,在第i列,并在第i列打掉了前j个。
只要考虑从第i-1列哪个位置转移过来就行了。因为这一列第j个想被打掉,那I-1列第j-1个也必须被打掉,也就是说,就这一个限制条件。(当然一共打了k个也有限制,最小(1+j)*j/2个)
剩下大胆转移就行了。

转载于:https://www.cnblogs.com/QTY2001/p/7632680.html

神奇DP [HNOI2004] 打砖块相关推荐

  1. [HNOI2004] 敲砖块(dp + 前缀和)

    P1437 [HNOI2004] 敲砖块 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 参考文章 [题解][HNOI2004]敲砖块 - gcd & Blog - 洛谷博客 ...

  2. yzoj P2343 洛谷 P1437 [HNOI2004]敲砖块

    题意 在一个凹槽中放置了N层砖块,最上面的一层油N块砖,从上到下每层一次减少一块砖.每块砖都有一个分值,敲掉这块砖就能得到相应的分值,如图所示. 如果你想敲掉第i层的第j块砖的话,若i=1,你可以直接 ...

  3. Bailian2759 神奇的口袋(2)【DP】

    2759:神奇的口袋(2) 总时间限制: 1000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是400,用这个口袋可以变出一些物品,这些物品的总体积必须是400.John现在有n ...

  4. Bailian2755 神奇的口袋【递归+DP】

    2755:神奇的口袋 总时间限制: 10000ms 内存限制: 65536kB 描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得 ...

  5. 神奇的口袋(回溯DP)

    题目描述 有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40.John现在有n个想要得到的物品,每个物品的体积分别是a1,a2--an.John可以从这些物品中选 ...

  6. 【每日DP】day 9、P1156 垃圾陷阱(神奇的背包,时间节点处理)难度⭐⭐⭐

    P1156 垃圾陷阱 每个垃圾只能用一次,典型的01背包. 关键是时间的处理 ll f[N];题目要中求的是生存的最长时间,所以这里的f[i]是指高度i时生存的最长时间 对于每一块垃圾,我们都有两种选 ...

  7. [BZOJ1187]神奇游乐园(插头DP)

    Description 题意给定一个矩阵,每个格子有权值,在[-1000.1000]内,求一条回路使得回路经过权值和最大,每个格子最多经过一次 2≤n≤100,2≤m≤6 Code #include ...

  8. P3190-[HNOI2007]神奇游乐园【插头dp】

    正题 题目链接:https://www.luogu.com.cn/problem/P3190 题目大意 n∗mn*mn∗m的网格上有权值,求一条权值和最大的不交回路. 1≤n≤100,1≤m≤61\l ...

  9. dp专题 神奇的口袋

    有一个口袋容积为m,有n个物品,题目的体积为a1,a2,a3-an.把m装满有多少种不同的装法. 递归: int dfs(int n, int m)/*从n个物品中选出总体积为m的选法*/ {if(m ...

  10. [HNOI2004]打鼹鼠 简单DP

    题目描述: 鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的.根据这个特点阿Q编写了一个打鼹鼠的游戏:在一个nn的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气. ...

最新文章

  1. python3官方说明文档_接下来? · Python3.7.3官方文档 简体中文 · 看云
  2. Java异常ClassCastException
  3. X86-64寄存器和栈帧--牛掰降解汇编函数寄存器相关操作
  4. 8. An Introduction to MCMC for Machine Learning (3)
  5. 解决libuuid.so.1 no version information available问题
  6. 7、MySQL设置日志输出方式
  7. springmvc controller接收前端发送数组
  8. 解决VS2012 Express的There was a problem sending the command to the program问题
  9. 【记忆化搜索】【dfs】【递归】Chocolate
  10. envers_分代缓存和Envers
  11. 如何借助 Python 俘获女孩子芳心?
  12. 虚幻4属性系统(反射)翻译
  13. 女神相册密码忘记了,我只用Python写了20行代码
  14. Spring 中的事务处理
  15. 错误及原因:Empty JPEG image (DNL not supported)
  16. 机器学习- 吴恩达Andrew Ng 编程作业技巧 for Week5 Neural Networks Learning
  17. 联想笔记本修复计算机还原系统失败,联想笔记本电脑重装系统不成功,联想笔记本系统恢复...
  18. 电脑记事本在哪个文件夹
  19. iOS中WKWebView清除cookies
  20. 基于余弦相似性的指纹匹配算法在WIFI室内定位上的应用

热门文章

  1. 为什么plsql不显示tns配置_电脑为什么不定时的会卡?电脑卡和哪些硬件配置有关系呢?...
  2. linux实训项目有哪些内容,实训项目2__Linux基本命令(带参考答案)
  3. pytorch tensor_Pytorch之Tensor操作
  4. 《深入理解JVM》读书笔记
  5. 函数式编程与面向对象编程[1]: Lambda表达式 函数柯里化 高阶函数
  6. 31 GroupSock(AddressString)——live555源码阅读(四)网络
  7. RCP中如何使用代码安装、运行plugins
  8. 服务端端口状态和客户端端口状态解释-LISTENING-ESTABLISHED-TIME_WAIT
  9. python-jieba-分词----官方文档截取
  10. rails errors样式自定义