题目描述
帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a
i,j

均为非负整数。游戏规则如下:

每次取数时须从每行各取走一个元素,共 nn 个。经过 mm 次后取完矩阵内所有元素;
每次取走的各个元素只能是该元素所在行的行首或行尾;
每次取数都有一个得分值,为每行取数的得分之和,每行取数的得分 = 被取走的元素值 \times 2^i×2
i
,其中 ii 表示第 ii 次取数(从 11 开始编号);
游戏结束总得分为 mm 次取数得分之和。
帅帅想请你帮忙写一个程序,对于任意矩阵,可以求出取数后的最大得分。

输入格式
输入文件包括 n+1n+1 行:

第一行为两个用空格隔开的整数 nn 和 mm。

第 2\sim n+12∼n+1 行为 n \times mn×m 矩阵,其中每行有 mm 个用单个空格隔开的非负整数。

输出格式
输出文件仅包含 11 行,为一个整数,即输入矩阵取数后的最大得分。

输入输出样例
输入 #1复制
2 3
1 2 3
3 4 2
输出 #1复制
82
说明/提示
NOIP 2007 提高第三题。

数据范围:

60%60% 的数据满足:1\le n,m\le 301≤n,m≤30,答案不超过 10^{16}10
16

100%100% 的数据满足:1\le n,m\le 801≤n,m≤80,0\le a_{i,j}\le10000≤a
i,j

≤1000。

#include <bits/stdc++.h>
using in = __int128;
void print(__int128 a) {if(a<0) {std::cout<<"-";a=-a;}if(a>9) {print(a/10);}putchar(a%10+'0');}int main() {int n,m;std::cin >> n >> m;in ans = 0;in f[m][m];int now[m];for(int i = 0; i<n ; i++) {memset(f,0,sizeof(f));for(int j = 0; j<m ; j++) {std::cin >> now[j];f[j][j] = now[j];}for (int h = 1; h < m; h++) {for (int left = 0; left < m - h; left++) {int right = left + h;in k1 = f[left + 1][right] * 2 + now[left];in k2 = f[left][right - 1] * 2 + now[right];f[left][right] = std::max(k1, k2);}}ans += f[0][m - 1];}ans *= 2;print(ans);std::cout<<std::endl;return 0;
}

P1005 [NOIP2007 提高组] 矩阵取数游戏相关推荐

  1. [NOIP2007 提高组] 矩阵取数游戏

    首先这个题的转移方程楼下的都说过了,就是在每行上的[i,j]区间的最大值 dp[i][j]=max{dp[i+1][j]+2^(m-(j-i))×v[i],dp[i][j-1]+2^(m-(j-i)) ...

  2. 【NOIP2007提高组】矩阵取数游戏

    题目背景 NOIP2007提高组试题3. 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n*m 的矩阵,矩阵中的每个元素 aij 均为非负整数.游戏规则如下: 1.每次取数时须从每行各取 ...

  3. NOIP2007 提高组【矩阵取数游戏】题解

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素a(i,j)均为非负整数.游戏规则如下: 每次取数时须从每行各取走一个元素,共n个.经过m次后取完矩阵内所有元素 ...

  4. 【每日DP】day 10、P1005 矩阵取数游戏【区间DP+高精(python)】难度⭐⭐⭐★

    P1005 矩阵取数游戏 输入 2 3 1 2 3 3 4 2 输出 82 说明/提示 NOIP 2007 提高第三题. 数据范围: 60%60\%60% 的数据满足:1≤n,m≤301\le n,m ...

  5. P1005 矩阵取数游戏(__int128模板/简单dp)

    转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a i,j ​ 均为非负整数.游戏规则如下: 每次取数时 ...

  6. 洛谷P1005 矩阵取数游戏 ACM 大数+区间dp

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n \times mn×m的矩阵,矩阵中的每个元素a_{i,j}ai,j​均为非负整数.游戏规则如下: 每次取数时须从每行各取走一个元素,共n ...

  7. 洛谷1005 【NOIP2007】矩阵取数游戏

    问题描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  8. 【codevs1166】【noip07TG】矩阵取数游戏,新的开始

    1166 矩阵取数游戏 2007年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description [问题描述] 帅帅经 ...

  9. 【区间DP+高精】codevs1166 矩阵取数游戏题解

    转自: [ametake版权所有]http://blog.csdn.net/ametake欢迎来看 http://blog.csdn.net/ametake/article/details/47664 ...

  10. 【日常学习】【区间DP+高精】codevs1166 矩阵取数游戏题解

    题目来自NOIP2007TG3 如果在考场上我现在已经歇菜了吧 今天一整天的时间全部投在这道题上,收获不小. 先上题目 题目描述 Description [问题描述] 帅帅经常跟同学玩一个矩阵取数游戏 ...

最新文章

  1. 周志华:“数据、算法、算力”,人工智能三要素在未来还要加上“知识”
  2. 【unity】拓展自定义编辑器窗口(二)
  3. Python的collections之namedtuple的使用及其优势
  4. poj3981 字符串替换-字符串的基本操作
  5. 开源贡献 计算_学生如何开始为开源软件做贡献
  6. 如何看待开源软件的知识产权问题——陆首群
  7. 如何csdn复制他人博客文章到自己博客下?
  8. [视频教程]MAME画质优化hq3x
  9. iphone13 Pro的运行内存是6gb
  10. chrome 设置保护眼睛颜色
  11. 微型计算机显示器的两种引线,第八章章节微型计算机接口技术8-2led显示器接口.ppt...
  12. 一加和小米哪个好 一加用技术领先树立起品牌典范
  13. 微信小程序与卡券功能小结
  14. Allegro原理图反标教程
  15. BZOJ1193 马步距离 (贪心)
  16. 和《超能陆战队》中“大白”硬扯上的关系的职场哲学
  17. 从底层结构开始学习FPGA----Xilinx 7 系列 FPGA 的逻辑优势
  18. 数字基带传输系统无码间干扰的研究与仿真
  19. ChatGPT技术报告
  20. Mac添加ssh config配置,快速登录Linux系统

热门文章

  1. Windows L2TP设置 2022-06-01
  2. Mybatis事务失效bug
  3. Python学习笔记(11)-Python进阶11-函数
  4. Leetcode995 Minimum Number of K Consecutive Bit Flips解决方案
  5. Charles安装SSL证书失败问题
  6. element树形控件拖拽allow-drop控制
  7. B站(哔哩哔哩)视频免费下载方式
  8. ERP/WMS仓库管理系统库存商品成本计算
  9. 你连阶级固化的原因都搞不清,又凭什么不被固化在底层?
  10. 医疗健康大数据服务平台技术架构