T7315 yyy矩阵折叠(长)
题目背景
全场基本暴零
题目描述
输入输出格式
输入格式:
如图
输出格式:
如图
输入输出样例
2 2 1 -2 3 -4
4
2 5 1 -2 -3 4 -5 6 -7 -8 9 -10
20
说明
如图
DFS行,状压DP列
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 #include<queue> 7 #include<stack> 8 #include<cstdlib> 9 using namespace std; 10 const int maxn=0x7fffff; 11 inline void read(int &n) 12 { 13 char c='+';int x=0;bool flag=0; 14 while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;} 15 while(c>='0'&&c<='9') 16 x=(x<<1)+(x<<3)+c-48,c=getchar(); 17 flag==1?n=-x:n=x; 18 } 19 int n,m; 20 int a[99][501]; 21 int ans=-maxn; 22 int cur[501]; 23 int pos2(int x) 24 { 25 return (1<<x); 26 } 27 int dp(int zt) 28 { 29 memset(cur,0,sizeof(cur)); 30 int ou,ji; 31 for(int i=1;i<=n;i++) 32 if(zt&pos2(i)) 33 for(int j=1;j<=m;j++) 34 cur[j]+=a[i][j]; 35 bool flag=1; 36 for(int i=1;i<=m;i++) 37 if(cur[i]>0) 38 { 39 flag=0; 40 break; 41 } 42 if(flag) 43 return -maxn; 44 ou=0;ji=0; 45 for(int i=1;i<=m;i++) 46 { 47 if(i&1) 48 { 49 int x=cur[i]+ou; 50 ji=max(ji,x); 51 } 52 else 53 { 54 int x=cur[i]+ji; 55 ou=max(ou,x); 56 } 57 } 58 return max(ou,ji); 59 } 60 void dfs(int pos,int last,int zt) 61 { 62 if(pos==n+1) 63 { 64 ans=max(ans,dp(zt)); 65 return ; 66 } 67 68 if(last==-1||(pos-last)&1) 69 dfs(pos+1,pos,zt|pos2(pos)); 70 dfs(pos+1,last,zt); 71 } 72 int main() 73 { 74 read(n);read(m); 75 for(int i=1;i<=n;i++) 76 for(int j=1;j<=m;j++) 77 { 78 read(a[i][j]); 79 ans=max(ans,a[i][j]); 80 } 81 if(ans<0) 82 cout<<ans; 83 else 84 { 85 dfs(1,-1,0); 86 printf("%d",ans); 87 } 88 return 0; 89 }
转载于:https://www.cnblogs.com/zwfymqz/p/7185970.html
T7315 yyy矩阵折叠(长)相关推荐
- 三行代码按键消抖 独立按键 矩阵按键 长按 短按 双击
九层妖塔 起于垒土 直接跳转到三行代码 三行代码按键消抖 独立按键 矩阵按键 长按 短按 双击 一.基本理论 0.按键的常见名词: ①按键抖动 ②按键稳定闭合时间 1.按键的扫描: 2.按键的消抖 ...
- 算法设计与分析——动态规划(五):最长公共子序列
分类目录:<算法设计与分析>总目录 相关文章: · 动态规划(一):基础知识 · 动态规划(二):钢条切割 · 动态规划(三):矩阵链乘法 · 动态规划(四):动态规划详解 · 动态规划( ...
- 【MATLAB】矩阵信息的获取
1.矩阵结构 矩阵的结构是指矩阵子元素的排列方式. 函数名称 函数功能 isempty(A) 检测矩阵是否为空 isscalar(A) 检测矩阵是否是单元素的标量矩阵 isvector(A) 检测矩阵 ...
- 01矩阵等比放大(Java代码、ACM格式)--2021.9.7百度笔试研发A卷
百度笔试题目:01矩阵等比放大(Java代码)–2021.9.7百度笔试研发A卷 一.题目详情: 第一行输入两个数,第一个数为矩阵的长和宽,第二个数为需要放大的倍数: 接下来输入的是矩形的内容. 示例 ...
- #100. 矩阵乘法
#100. 矩阵乘法 内存限制:256 MiB时间限制:2000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据 题目描述 这是一道模板题. 分别给定 ...
- matlab中服从高斯分布的矩阵_一些张量的计算步骤matlab代码
Matlab工具箱Tensor Toolbox,安装链接如下 CSDN-专业IT技术社区-登录blog.csdn.net . , 这是我们定义的张量 , matlab代码: %% %工具包:Tens ...
- *【牛客 1 - A】矩阵(字符串hash)
题干: 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至少两次.输出最大正方形的边长. 输入描述: 第一行两个整数n, m代表矩阵的长和宽: 接下来n行,每行 ...
- 【牛客 -2A】矩阵(二分,字符串哈希)
题干: 给出一个n * m的矩阵.让你从中发现一个最大的正方形.使得这样子的正方形在矩阵中出现了至少两次.输出最大正方形的边长. 输入描述: 第一行两个整数n, m代表矩阵的长和宽: 接下来n行,每行 ...
- 三维错切变换矩阵_图像的仿射变换
目录: 概述 图像基本变换 仿射变换 原理 python实现 一.概述 图像的几何变换主要包括:平移.缩放.旋转.仿射.透视等等.图像变换是建立在矩阵运算基础上的,通过矩阵运算可以很快的找到不同图像的 ...
- 矩阵中不重复的元素(51Nod-1024)
题目 一个m*n的矩阵. 该矩阵的第一列是a^b,(a+1)^b,.....(a + n - 1)^b 第二列是a^(b+1),(a+1)^(b+1),.....(a + n - 1)^(b+1) . ...
最新文章
- Ansible WebUI工具之Semaphore
- 【Tools】Linux远程拷贝工具(WinSCP)
- “约见”面试官系列之常见面试题第十一篇之canvas(建议收藏)
- 3 pyspark学习---sparkContext概述
- C++/mfc错误总结
- 【初赛】「阅读程序」题答v1.0
- laravel如何利用数据库的形式发送通知
- 027_《Delphi Direct X 图形与游戏程序设计》
- 编译原理实验五:编译器自动生成工具
- BZOJ5369:[PKUSC2018]最大前缀和(状压DP)
- 【转】完美:photoshop cs6 破解版下载[序列号+破解补丁+破解教程+官方原版]
- SQlException 对象名无效
- 视觉slam十四讲课后习题ch3-7
- 【土旦】vue 解决ios H5底部输入框 获取焦点时弹出虚拟键盘挡住输入框 以及监听键盘收起事件...
- 腾讯离职元老的内部邮件:马化腾的趣事
- 2021-11-10
- python制作动态时钟_python+pygame制作一个可自定义的动态时钟和详解
- 在word中插入excel文件
- Python添加pywin32
- python read( )函数
热门文章
- promise.all是并发执行吗_你真的会用Volatile了吗?
- 响应式mysql_Spring Data R2DBC响应式操作MySQL
- matlab对比r语言,R语言与matlab循环时间对比
- 2dpsk调制解调实验matlab_贼详细的8PSK调制与解调详细过程
- 使用 ESLint 禁止项目导入特定模块
- 浏览器控件JxBrowser V6.14大版本发布 | 注入CSS
- 用aspectJ 做了一次日志
- 【转】php json_encode中文为空的解决办法
- Quick-cocos2d-x3.3 ios实现头像选取
- 堆排序 heapsort