UVA 10755 Garbage Heap
来源:互联网 发布:linux打开大文件 编辑:程序博客网 时间:2024/05/17 03:15
利用前缀进行求和加速,然后把问题转换为一维的dp问题(或者说是简单的递推问题)
#include <stdio.h>#include <vector>using namespace std;#defineMIN_INF0x8000000000000000const int max_n = 20 + 10;long long arr[max_n][max_n][max_n];long long sum[max_n][max_n][max_n];void func(int A, int B, int C){int i, j, k;static int case_n = 1;long long cur_sum, max_sum;int start_j, start_k, end_j, end_k;for(i=1; i<=A; i++){for(j=1; j<=B; j++){for(k=1; k<=C; k++){sum[i][j][k] = sum[i][j-1][k] + sum[i][j][k-1] - sum[i][j-1][k-1] + arr[i][j][k];}}}vector<long long> v;long long dp[max_n];max_sum = MIN_INF;for(start_j=1; start_j<=B; start_j++){for(start_k=1; start_k<=C; start_k++){for(end_j=start_j; end_j<=B; end_j++){for(end_k=start_k; end_k<=C; end_k++){v.clear();for(i=1; i<=A; i++){cur_sum = sum[i][end_j][end_k] + sum[i][start_j-1][start_k-1] - sum[i][start_j-1][end_k] - sum[i][end_j][start_k-1];v.push_back(cur_sum);}for(i=0; i<v.size(); i++){if(0 == i){dp[i] = v[i];}else{if(dp[i-1] < 0)dp[i] = v[i];elsedp[i] = dp[i-1] + v[i];}if(max_sum < dp[i])max_sum = dp[i];}}}}}if(case_n >= 2)printf("\n");printf("%lld\n", max_sum);case_n++;}int main(void){int t;int i, j, k;int A, B, C;//freopen("input.dat", "r", stdin);scanf("%d", &t);while(t--){scanf("%d %d %d", &A, &B, &C);for(i=1; i<=A; i++){for(j=1; j<=B; j++){for(k=1; k<=C; k++){scanf("%lld", arr[i][j]+k);}}}func(A, B, C);}return 0;}
0 0
- UVA 10755 Garbage Heap
- UVa:10755 Garbage Heap
- UVA 10755 Garbage Heap
- UVA - 10755 Garbage Heap
- UVA 10755 Garbage Heap
- uva 10755 - Garbage Heap 杂
- UVA 10755 10755 - Garbage Heap(DP, s)
- uva 10755 - Garbage Heap(暴力+优化)
- 【UVa】10755 Garbage Heap 三维前缀和
- UVA - 10755 Garbage Heap(最大子矩阵)
- UVA 10755 Garbage Heap (预处理+扫描维护)
- uva 10755 - Garbage Heap(三维最大子矩阵)
- UVa 10755 - Garbage Heap 最大子块和 dp
- UVA 10755 - Garbage Heap(三维子矩阵最大和)
- uva 10755 - Garbage Heap(最大和问题)
- UVA-10755 Garbage Heap 三维子矩阵最大和
- UVa 10755 Garbage Heap 解题报告(前缀和)
- UVA 10755 Garbage Heap 最大子立方体和
- 一入python深似海--class
- 车牌定位--颜色分割
- 漂亮的树形菜单,可折叠,有动画
- 5-word2vec架构分析及实践
- DB2系统级命令及实例级命令
- UVA 10755 Garbage Heap
- 随笔---写在大三下
- Android Studio VS Eclipse (还在用Eclipse?你OUT了!)
- java 内存泄露
- 初探PowerShell OneGet(一)
- 整数逆置
- php session 读写锁
- Vector
- 查看tomcat版本