| 题目名称 | 1292. [HNOI 2004] 打砖块 |
|---|---|
| 输入输出 | brike.in/out |
| 难度等级 | ★★☆ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 128 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:165, 提交:313, 通过率:52.72% | ||||
|
|
100 | 0.000 s | 0.00 MiB | C++ |
|
|
100 | 0.000 s | 0.05 MiB | C++ |
|
|
100 | 0.000 s | 0.11 MiB | C++ |
|
|
100 | 0.000 s | 0.53 MiB | C++ |
|
|
100 | 0.003 s | 1.46 MiB | C++ |
|
|
100 | 0.006 s | 0.22 MiB | C++ |
|
|
100 | 0.017 s | 6.15 MiB | C++ |
|
|
100 | 0.020 s | 2.46 MiB | C++ |
|
|
100 | 0.037 s | 3.99 MiB | C++ |
|
|
100 | 0.040 s | 3.42 MiB | C++ |
| 本题关联比赛 | |||
| 20130923 | |||
| 20130923 | |||
| 关于 打砖块 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
大佬们都用的递推,像我一样的蒟蒻才用记忆化搜索
| ||||
|
太骚了
2017-09-13 12:21
14楼
| ||||
|
看了题解...没太看懂...就知道什么倒着处理..然后自己搞了一会突然就懂了
| ||||
|
| ||||
|
论k和j的区别
生生卡了两天半 | ||||
|
| ||||
|
写错了循环顺序QAQ
| ||||
|
回复 @<养成>stdafx :
ORzzzzzzzzzzzzzzzzzzzzzzzzz
2015-08-13 17:25
8楼
| ||||
|
一个等号一下午。。。。。。55555
| ||||
|
谁有我边界卡的全???
| ||||
在一个凹槽中放置了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)
运行时限:1秒钟
本题目一共有十个测试点,每个测试点的分数为总分数的10%。对于每个测试点来说,如果你给出的答案正确,那么你将得到该测试点全部的分数,否则得0分。