传送门
写在前面:同脑补了好久的题目,感觉……
思路:一开始也是在胡思乱想,感觉发现了一些性质,然后就是半弃疗状态,看题解发现如果纯粹看代码理解,感觉好像还挺科学的,看了看DAG路径覆盖相关的东西,woc……
个人理解是说,对于点(i,j)来说,点(i-1,j+1)不和它联通,对于任一个f[i][j],它存储的都是以(i,j)为左下端点一直到往上的方格图中需要走的次数

所以大体就是说f[i][j]可以是f[i-1][j+1]+a[i][j]
(不和(i-1,j+1)联通,所以f[i][j]一定大于等于(i-1,j+1)的方案数+自己的权值数)
f[i-1][j]与f[i][j+1]在这里可以看作是矩阵间的合并求最大……

总之就是YY……也不知道这种理解是否正确
注意:f数组要初始化,答案用LL存储

#include<cstdio>
#include<iostream>
#define LL long long
using namespace std;
int T,n,m;
int a[1002][1002];
LL f[1002][1002];
main()
{scanf("%d",&T);while (T--){scanf("%d%d",&n,&m);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++) scanf("%d",&a[i][j]);for (int i=1;i<=n;i++)for (int j=m;j;j--) f[i][j]=max(max(f[i-1][j],f[i][j+1]),f[i-1][j+1]+a[i][j]);printf("%lld\n",f[n][1]);for (int i=1;i<=n;i++)for (int j=1;j<=m;j++) f[i][j]=0;}
}

感觉DP并没有进步多少啊……

【BZOJ3997】组合数学,总之是DP就对了相关推荐

  1. BZOJ 3997 [TJOI2015]组合数学(单调DP)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3997 [题目大意] 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右 ...

  2. ybt 神(bian)奇(tai)题目总结合集(下)

    ybt 题目总结&吐槽 合集(下) 第五章 动态规划 树形DP T24 权值统计 T25 树的合并 状压DP T26 涂抹果酱 T27 炮兵阵地 T28 最短路径 T29 图的计数 单调队列 ...

  3. ACM基础算法入门及题目列表

    对于刚进入大学的计算机类同学来说,算法与程序设计竞赛算是不错的选择,因为我们每天都在解决问题,锻炼着解决问题的能力. 这里以TZOJ题目为例,如果为其他平台题目我会标注出来,同时我的主页也欢迎大家去访 ...

  4. 【BZOJ3997】[TJOI2015]组合数学 最长反链

    [BZOJ3997][TJOI2015]组合数学 Description 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走.问至少走多少次才能将财宝捡完.此对此问题变形,假设每个格 ...

  5. CodeForces - 560E Gerald and Giant Chess(组合数学+dp)

    题目链接:点击查看 题目大意:给出一个 n∗mn*mn∗m 的矩阵,其中有 kkk 个坏点,每次只能向右走或向下走,问从点 (1,1)(1,1)(1,1) 到点 (n,m)(n,m)(n,m) 共有多 ...

  6. CodeForces - 336D Vasily the Bear and Beautiful Strings(dp+组合数学)

    题目链接:点击查看 题目大意:给出一个 01 字符串,规定求值的过程如下: 每次选择末尾的两个数字: 如果为 0 0 ,那么替换成一个 1 否则替换成一个 0 循环往复,直至只剩一个数字位置,剩下的数 ...

  7. ZOJ - 4114 Flipping Game(dp+组合数学)

    题目链接:点击查看 题目大意:给出一个长度为 n 的 01 字符串表示 n 个灯泡的状态,1 为点亮,0 为熄灭,现在需要进行 k 轮操作,每轮操作可以选择恰好 m 个位置,将灯泡的状态置反,现在给出 ...

  8. 【BZOJ 3294】 3294: [Cqoi2011]放棋子 (DP+组合数学+容斥原理)

    3294: [Cqoi2011]放棋子 Description Input 输入第一行为两个整数n, m, c,即行数.列数和棋子的颜色数.第二行包含c个正整数,即每个颜色的棋子数.所有颜色的棋子总数 ...

  9. ARC 128D - Neq Neq(dp+组合数学+思维)

    链接 题意: 给出你一个长度为n的序列,你可以对其操作使得这个序列发生变化,问一共有多少种? 对于连续的i-1,i,i+1,这三个数如果满足 ai−1!=aia_{i-1}!=a_{i}ai−1​!= ...

最新文章

  1. 一个查看全部用户的磁盘空间使用情况的脚本
  2. rails安装与卸载
  3. vc判断文件夹是否存在
  4. Day 29:编写你的第一个 Google Chrome 扩展程序
  5. 理解typedef(转)
  6. JSP技术之JavaBean
  7. 水晶报表基础入门——6.交叉报表设计技术
  8. python requests json_python:解析requests返回的response(json格式)
  9. php 五子棋源联机版_PHP五子棋服务器代码
  10. Python规范神器(PEP8 ),Pylint是代码检查工具
  11. android 罗盘陀螺仪,电子罗盘和陀螺仪的区别以及工作原理介绍
  12. 对一段Oracle GoldenGate (OGG) 传输进程日志(.rpt文件)的解释
  13. 工作日时间差/考勤计算(SQL 自定义函数)
  14. System Development Life Cycle(SDLC)系统生命周期
  15. php a链接跳转下载,PHP实现点击a标签的href做链接时,直接保存文件(任何类型),而不是通过浏览器直接打开下载的文件...
  16. NHibernate学习之旅1——什么是NHibernate
  17. 白手起家成就亿万富翁梦想的企业家和普通人的10点不同之处
  18. C盘临时文件怎么删除?
  19. Mybatis-plus分页查询不生效之问题排查
  20. 一些非常激励人心的电子类同行成长经历

热门文章

  1. 浅谈云网融合与SD-WAN
  2. frc机器人比赛主题_RCC机器人比赛
  3. UGUI——基本组件
  4. Kafka和的安装与配置
  5. Kotlin学习笔记 第二章 类与对象 第十二 十三节 对象表达式与对象声明 类型别名
  6. Android笔记 android 7.0 动态申请权限
  7. Poisson方程五点差分格式例题及解答
  8. python3函数写文件路径时,怎么写文件路径
  9. Python官方文档学习心得(第五篇)
  10. sql中如何统计各种零件的总数量_数据蒋堂 | SQL是描述性语言?