【DP】 HDOJ 1081 To The Max
2014-09-11 15:27
369 查看
二维转一维即可。。。
#include <iostream> #include <queue> #include <stack> #include <map> #include <set> #include <bitset> #include <cstdio> #include <algorithm> #include <cstring> #include <climits> #include <cstdlib> #include <cmath> #include <time.h> #define maxn 105 #define maxm 400005 #define eps 1e-10 #define mod 1000000007 #define INF 999999999 #define lowbit(x) (x&(-x)) #define mp mark_pair #define ls o<<1 #define rs o<<1 | 1 #define lson o<<1, L, mid #define rson o<<1 | 1, mid+1, R //typedef vector<int>::iterator IT; typedef long long LL; //typedef int LL; using namespace std; LL qpow(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base;base=base*base;b/=2;}return res;} LL powmod(LL a, LL b){LL res=1,base=a;while(b){if(b%2)res=res*base%mod;base=base*base%mod;b/=2;}return res;} void scanf(int &__x){__x=0;char __ch=getchar();while(__ch==' '||__ch=='\n')__ch=getchar();while(__ch>='0'&&__ch<='9')__x=__x*10+__ch-'0',__ch = getchar();} LL gcd(LL _a, LL _b){if(!_b) return _a;else return gcd(_b, _a%_b);} // head int mat[maxn][maxn], sum[maxn][maxn]; int t[maxn], n; void read(void) { for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) scanf("%d", &mat[i][j]); for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) sum[j][i] = sum[j-1][i] + mat[j][i]; } void work(void) { int ans = 0, res, mx; for(int i = 1; i <= n; i++) for(int j = i; j <= n; j++) { for(int k = 1; k <= n; k++) t[k] = sum[j][k] - sum[i-1][k]; res = mx = 0; for(int k = 1; k <= n; k++) { res += t[k]; if(res >= 0) mx = max(mx, res); else { if(t[k] >= 0) res = t[k]; else res = 0; } } ans = max(ans, mx); } printf("%d\n", ans); } int main(void) { while(scanf("%d", &n)!=EOF) { read(); work(); } return 0; }
相关文章推荐
- HDOJ 1081 To The Max(dp)(状态压缩)未解决
- HDOJ 1081 To The Max(矩阵DP)
- HDOJ 1081 POJ 1050 ZOJ 1074 TO THE MAX【dp】
- HDU 1081 To The Max DP
- hdoj1081 To The Max
- DP:HDU_1081_To The Max
- HDU 1081 To The Max--DP--(最大子矩阵)
- hdu/hdoj 1081 To The Max
- Hdu 1081 To The Max -- DP
- HDOJ-1081 To The Max
- HDU 1081 To The Max (DP)
- HDOJ 1081(ZOJ 1074) To The Max(动态规划)
- HDOJ 1081(ZOJ 1074) To The Max(动态规划)
- hdu 1081 To The Max(最大子矩阵和,dp)
- hdu1081 To The Max--DP(最大子矩阵和)
- hdu 1081 To The Max(dp+化二维为一维)
- To The Max_hdu_1081(经典DP).java
- HDOJ题目1081 To The Max(动态规划)
- HDU 1081 To The Max(DP)
- hdu 1081 To The Max(dp+化二维为一维)