最大子段和、子矩阵总结
来源:互联网 发布:华为 移动数据 4g开关 编辑:程序博客网 时间:2024/04/27 15:34
const int Max_N = 10008 ;int N , x[Max_N] ;void Ans(){ int Max_sum = -0xffff ; // 最大和初值为最小 int Start = 1, End = 1 , sum = 0 , i , j = 1 ; for(i = 1 ; i <= N ; i++){ sum += x[i] ; if(sum < 0){ sum = 0 ; j = i + 1 ; //当前和不能作为结果,更新sum ,同时下一个序列起点为下一点i+1 。 } else if(sum > Max_sum){ //更新 ,当前点为终点。同时更新起点j Max_sum = sum ; Start = j ; End = i ; } } if(Max_sum == -0xffff) //最大值为初值,说明全为负数。 printf("%d %d %d\n" , 0 , x[1] , x[N]) ; else printf("%d %d %d\n" , Max_sum , x[Start] , x[End]) ;}
HDU 1003 Max Sum 最大子段和
const int Max_N = 100008 ;int N , x[Max_N] ;void Ans(){ int Max_sum = -0xffff ; // int Start = 1, End = 1 , sum = 0 , i , j = 1 ; for(i = 1 ; i <= N ; i++){ sum += x[i] ; if(sum > Max_sum){ Max_sum = sum ; Start = j ; End = i ; } if(sum < 0){ sum = 0 ; j = i + 1 ; } } printf("%d %d %d\n" , Max_sum , Start , End) ;}
最大子矩阵 To the Max
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=74
int MaxSum(int n , int a[]){ int sum = - 128 ; int b = 0 ; for(int i = 1 ; i <= n ; i++){ if(b > 0) b += a[i] ; else b = a[i] ; if(b > sum) sum = b ; } return sum ;}const int Max_N = 108 ;int g[Max_N][Max_N] ;int sum[Max_N][Max_N] ;int N ;int num[Max_N] ;int GetMax(){ int i , j , t , k , ans = -128 ; memset(sum , 0 , sizeof(sum)) ; for(i = 1 ; i <= N ; i++) sum[1][i] = g[1][i] ; for(i = 2 ; i <= N ; i++){ for(j = 1 ; j <= N ; j++) sum[i][j] = sum[i-1][j] + g[i][j] ; } for(i = 1 ; i <= N ; i++){ for(j = i ; j <= N ; j++){ for(k = 1 ; k <= N ; k++) num[k] = sum[j][k] - sum[i-1][k] ; ans = max(ans , MaxSum(N , num)) ; } } return ans ;}int main(){ int i , j ; while(cin>>N){ for(i = 1 ; i <= N ; i++) for(j = 1 ; j <= N ; j++) cin>>g[i][j] ; cout<<GetMax()<<endl ; } return 0 ;}
0 0
- 最大子段和、子矩阵总结
- 最大子段和 最大子矩阵
- 动态规划---最大子段和&最大子矩阵和
- 最大子矩阵(最大子段和)
- 最大子矩阵—最大子段和的推广
- DP(最大子段和) 最大子矩阵 poj_1050
- Bailian2766 最大子矩阵【最大子段和+DP】
- 最大子段和问题,最大子矩阵和问题,最大m子段和问题
- 最大子段和问题,最大子矩阵和问题,最大m子段和问题
- 动态规划---最大子段和,最大子矩阵和,最大m子段和
- POJ 1050 最大矩阵子段和
- 最大子段 ,最大子矩阵 算法
- 最大子段和||最大子矩阵和||最大全1子矩阵||最大全1子正方形||
- 最大子段和||最大子矩阵和||最大全1子矩阵||最大全1子正方形||
- 最大连续子段和+最大矩阵和
- 最大子段和
- 最大子段和
- 最大子段和
- 黑子的篮球
- ActionSupport.getText()方法 .
- 2012 蓝桥杯 星期几 【决赛试题】
- PHP session
- 巧解银联8583数据域
- 最大子段和、子矩阵总结
- spring工作机制
- java使用阿帕奇上传文件到ftp commons-net-3.2.jar
- spring+hibernate 二级缓存 配置+java使用实例
- 修正闪退,Win8 Metro版VLC影音播放器下载
- Linux iptables 防火墙 操作与介绍
- 关于 汉字 字符的判断
- 线段树总结
- linux 指令