51nod 1051【基础】
来源:互联网 发布:爱淘宝怎么卸载 编辑:程序博客网 时间:2024/05/18 03:12
思路:
找题4级做做。。。然后找了题最水的。。
= =感动。。。居然是一下子【记】得了做法。。。
dp一下,枚举列的起点和终点,然后求和这一段,然后对这一大列就是求个最大字段和;
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int N=5e2+10;LL a[N][N];LL sum[N][N];LL temp[N];int n,m;LL max_ele(){ LL d=temp[1]; LL ans=temp[1]; for(int i=2;i<=n;i++) { if(d<0) d=temp[i]; else d+=temp[i]; ans=max(d,ans); } return ans;}void init(int s,int t){ for(int i=1;i<=n;i++) temp[i]=sum[i][t]-sum[i][s-1];}int main(){ scanf("%d%d",&m,&n); memset(sum,0,sizeof(sum)); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) { scanf("%lld",&a[i][j]); sum[i][j]=a[i][j]+sum[i][j-1]; } LL ans=0; for(int s=1;s<=m;s++) { for(int t=s;t<=m;t++) { init(s,t); ans=max(ans,max_ele()); } } printf("%lld\n",ans); return 0;}
0 0
- 51nod 1051【基础】
- 51nod 1264 基础
- 51nod 动态规划基础
- 51nod 基础题小结
- 51 nod 1212 基础MST
- 51nod 基础题-1459
- 51nod 1051 最大子矩阵和(基础dp)
- 51nod--1298 (计算几何基础)
- 51nod 基础题(2)
- 51nod--基础题大数加法
- 51nod 1002 数塔取数问题(基础dp)
- 51nod 1021 石子归并(基础dp)
- 51 nod 动态规划基础篇 3
- 51nod 动态数组基础题 4
- 51nod 数塔取数问题 基础dp
- 51nod 动态规划基础篇 6
- 51 nod 动态规划 基础篇 1
- 51nod 动态规划 基础篇 2
- cmd命令行 查找文件的方式丨Windows
- POJ Problem 2406 Power Strings
- 404. Sum of Left Leaves
- [hackerrank w25]DAG Queries 解题报告
- 第七周项目4-队列数组
- 51nod 1051【基础】
- 深度学习资料一
- libGDX开发环境搭建-Android Studio 最新版
- 欢迎使用CSDN-markdown编辑器
- Leetcode||16.3Sum Closest
- 修改checkbox样式
- 【hdu 2594】Simpsons’ Hidden Talents(kmp)
- 面向切面编程
- 第八周项目2-建立链串的算法库