BZOJ3997 TJOI2015组合数学(动态规划)
copy:
Dilworth定理:DAG的最小链覆盖=最大点独立集
最小链覆盖指选出最少的链(可以重复)使得每个点都在至少一条链中
最大点独立集指最大的集合使集合中任意两点不可达
此题中独立的定义即是两点满足一个在左下一个在右上(或在同一格)。于是只需要找一条从左下到右上权值和最大的路径。
#include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; int read() {int x=0,f=1;char c=getchar();while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();return x*f; } #define N 1010 int T,n,m,a[N][N],f[N][N]; int main() { #ifndef ONLINE_JUDGEfreopen("bzoj3997.in","r",stdin);freopen("bzoj3997.out","w",stdout);const char LL[]="%I64d\n"; #elseconst char LL[]="%lld\n"; #endifT=read();while (T--){n=read(),m=read();for (int i=1;i<=n;i++)for (int j=1;j<=m;j++)a[i][j]=read();for (int i=1;i<=m;i++) f[n+1][i]=0;for (int i=n;i>=1;i--)for (int j=1;j<=m;j++)f[i][j]=max(a[i][j]+f[i+1][j-1],max(f[i+1][j],f[i][j-1]));cout<<f[1][m]<<endl;}return 0; }
转载于:https://www.cnblogs.com/Gloid/p/9819277.html
BZOJ3997 TJOI2015组合数学(动态规划)相关推荐
- 【BZOJ3997】[TJOI2015]组合数学 最长反链
[BZOJ3997][TJOI2015]组合数学 Description 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右走.问至少走多少次才能将财宝捡完.此对此问题变形,假设每个格 ...
- 3997: [TJOI2015]组合数学
3997: [TJOI2015]组合数学 Time Limit: 20 Sec Memory Limit: 128 MB Submit: 247 Solved: 174 [Submit][Stat ...
- BZOJ 3997 [TJOI2015]组合数学(单调DP)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=3997 [题目大意] 给出一个网格图,其中某些格子有财宝,每次从左上角出发,只能向下或右 ...
- 【组合数学+动态规划】在如下8*6的矩阵中,请计算从A移动到B一共有____种走法。要求每次只能向上或向右移动一格,并且不能经过P。...
在如下8*6的矩阵中,请计算从A移动到B一共有__种走法.要求每次只能向上或向右移动一格,并且不能经过P. A:456 B:492 C:568 D:626 E:680 F:702 解析: ...
- 【BZOJ3997】组合数学,总之是DP就对了
传送门 写在前面:同脑补了好久的题目,感觉-- 思路:一开始也是在胡思乱想,感觉发现了一些性质,然后就是半弃疗状态,看题解发现如果纯粹看代码理解,感觉好像还挺科学的,看了看DAG路径覆盖相关的东西,w ...
- [暑假的bzoj刷水记录]
(这篇我就不信有网站来扣) 这个暑假打算刷刷题啥的 但是写博客好累啊 堆一起算了 隔一段更新一下. 7月27号之前刷的的就不写了 , 写的累 代码不贴了,可以找我要啊.. 2017.8.27upd ...
- 2019.4.summary
2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...
- [颓废史]蒟蒻的刷题记录
QAQ蒟蒻一枚,其实我就是来提供水题库的. 以下记录从2016年开始. 1.1 1227: [SDOI2009]虔诚的墓主人 树状数组+离散化 3132: 上帝造题的七分钟 树状数组 二维区间加减+查 ...
- POJ-1664 放苹果 动态规划思想解组合数学
该题说明了状态开设的意义一样,但是从哪个方向去理解推倒状态的转移对解题非常关键.该题扣住是否所有的盘子中有空盘子,就得到了一个非常简单且优美的方程.如果从当前盘子的放置状态或者是当前苹果的放置状态来求 ...
- [POJ1664] 放苹果 (动态规划,组合数学)
题目描述 把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分发(5,1,1和1,1,5是同一种方法) 输入输出格式 输入格式: 第一行是测试数据的数目t(0 <= ...
最新文章
- python评语生成_如何评价生成模型框架 ZhuSuan?
- 【第44题】【062题库】2019年OCP认证062考试新题
- [转].Net实现本地化简易教程
- stm32 USB增加端点总结
- BP神经网络python简单实现
- Latex WinEdt7.0查找替换功能
- uniapp h5 微信分享
- 计算机人工智能领域英文文献,人工智能英文参考文献精选(3)
- 变频器的技术应用:接线与参数设置
- 使用盒式布局实现登录界面
- java中后台的跳转_java后台跳转
- [转载]项目风险管理七种武器-长生剑
- amazon账号关联|这三点要记牢
- faker和劫的图片_LOLS7faker劫出装顺序是怎么样
- 使用freesurfer进行海马亚区分割学习笔记
- win11突然断网,然后找不到wifi图标,记录一下
- Lyapunov稳定性判定总结及PI滑膜悬架仿真
- hadoop安装Snappy HBase本地安装Snappy
- 智能恒温水壶系统设计_如何安装和设置Ecobee智能恒温器
- 惠普服务器bios里如何修改ip,服务器bios设置ip
热门文章
- Java 如何优雅的导出 Excel
- 性能优化:要2个月才跑完的程序我是如何优化到到4小时的?
- Google 推出移动版任务管理工具 Google Tasks
- 如何用 10 句话激怒程序猿?
- python编译安装没有c扩展_python – 为什么我在安装simplejson时得到“C扩展无法编译”?...
- 无可用源 没有为任何调用堆栈加载任何符号_看完这篇后,别再说你不懂JVM类加载机制了~...
- canvas绘制圆环
- Jquery的parent和parents(找到某一特定的祖先元素)
- Android中关于Task的一些认识
- 常用数据类型使用转换详解