hdu1081dp
2371 단어 dp
1 차원 알고리즘 은 이 렇 습 니 다.
int max_sum(int n)
{
int i, j, sum = 0, max = -10000;
for(i = 1; i <= n; i++)
{
if(sum < 0)
sum = 0;
sum += a[i];
if(sum > max)
max = sum;
}
return sum;
}
2 차원 으로 확장 할 때 도 같은 방법 이지 만 2 차원 을 1 차원 으로 압축 해 야 하기 때문에 우 리 는 데 이 터 를 처리 해 야 한다. map [i] [j] 가 i 행 의 j 번 째 요 소 를 표시 하 는 것 에서 i 행 앞의 j 번 째 요소 와 이렇게 map [k] [j] - map [k] [i] 를 표시 하면 k 행 이 i - > j 열 에서 의 요소 와.1 차원 보다 2 층 순환 매 거 진 i 와 j 만 있 으 면 됩 니 다.
/*****************************************
Author :Crazy_AC(JamesQi)
Time :2015
File Name :
*****************************************/
// #pragma comment(linker, "/STACK:1024000000,1024000000")
#include <iostream>
#include <algorithm>
#include <iomanip>
#include <sstream>
#include <string>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <map>
#include <set>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#include <limits.h>
using namespace std;
#define MEM(a,b) memset(a,b,sizeof a)
#define pk push_back
template<class T> inline T Get_Max(const T&a,const T&b){return a < b?b:a;}
template<class T> inline T Get_Min(const T&a,const T&b){return a < b?a:b;}
typedef long long ll;
typedef pair<int,int> ii;
const int inf = 1 << 30;
const int INF = 0x3f3f3f3f;
const int MOD = 1e9 + 7;
const int maxn = 110;
int gg[maxn][maxn];
int n;
int main()
{
// ios::sync_with_stdio(false);
// freopen("in.txt","r",stdin);
// freopen("out.txt","w",stdout);
while(~scanf("%d",&n)){
MEM(gg, 0);
int buf;
for (int i = 1;i <= n;++i) {
for (int j = 1;j <= n;++j){
scanf("%d",&buf);
gg[i][j] += gg[i][j - 1] + buf;
}
}
int Max_Num = -INF;
for (int i = 1;i <= n;++i){
for (int j = i;j <= n;++j){
int sum = 0;
for (int k = 1;k <= n;++k){
if (sum < 0)
sum = 0;
sum += gg[k][j] - gg[k][i - 1];
if (sum > Max_Num) Max_Num = sum;
}
}
}
printf("%d
",Max_Num);
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【경쟁 프로 전형적인 90문】008의 해설(python)의 해설 기사입니다. 해설의 이미지를 봐도 모르는 (이해력이 부족한) 것이 많이 있었으므로, 나중에 다시 풀었을 때에 확인할 수 있도록 정리했습니다. ※순차적으로, 모든 문제의 해설 기사를 들어갈 예정입니다. 문자열...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.