DP计算最大和HDU1003
来源:互联网 发布:淘宝女装皇冠店铺排行 编辑:程序博客网 时间:2024/05/20 18:46
#include <stdio.h>
int dp[100005];
int f[100005];
int main()
{
int t;
int n,i,j,ch;
int sum;
int fr,ed;
int max;
while(scanf("%d",&t)!=-1)
{
for(i=1;i<=t;i++)
{
max=-10000;
scanf("%d",&n);
for(j=0;j<n;j++)
scanf("%d",&f[j]);
dp[0]=f[0];
fr=ed=ch=0; //ch记录当前的起点位置,fr,ed记录最大值的起点终点
for(j=1;j<n;j++)
{
sum=dp[j-1]+f[j]; //比较dp[j-1]+f[j]与f[j]的大小,dp[j]取较大值
if(f[j]>sum)
{
dp[j]=f[j];
ch=j;
}
else
dp[j]=sum;
if(dp[j]>max) //和max比较
{
max=dp[j];
ed=j;
fr=ch;
}
}
printf("Case %d:\n%d %d %d\n",i,max,fr+1,ed+1);
if(i<t)
printf("\n");
}
}
return 0;
}
int dp[100005];
int f[100005];
int main()
{
int t;
int n,i,j,ch;
int sum;
int fr,ed;
int max;
while(scanf("%d",&t)!=-1)
{
for(i=1;i<=t;i++)
{
max=-10000;
scanf("%d",&n);
for(j=0;j<n;j++)
scanf("%d",&f[j]);
dp[0]=f[0];
fr=ed=ch=0; //ch记录当前的起点位置,fr,ed记录最大值的起点终点
for(j=1;j<n;j++)
{
sum=dp[j-1]+f[j]; //比较dp[j-1]+f[j]与f[j]的大小,dp[j]取较大值
if(f[j]>sum)
{
dp[j]=f[j];
ch=j;
}
else
dp[j]=sum;
if(dp[j]>max) //和max比较
{
max=dp[j];
ed=j;
fr=ch;
}
}
printf("Case %d:\n%d %d %d\n",i,max,fr+1,ed+1);
if(i<t)
printf("\n");
}
}
return 0;
}
0 0
- DP计算最大和HDU1003
- HDU1003(最大连续子序列和DP)
- HDU1003 最大连续子序和 DP
- HDU1003-最大总和-DP
- ACMSTEP 3.2.1 && HDU1003 Max Sum //DP 最大字段和
- hdu1003 Max Sum(DP之最大子序列和)
- HDU1003 Max Sum(最大连续子序和、贪心、DP)
- HDU1003 Max Sum【最大子段和+DP】
- hdu1003 连续最大和
- hdu1003最大和序列
- hdu1003最大子序列和
- hdu1003最大子段和
- 最大连续和(hdu1003)
- HDU1003-最大子序列和
- HDU1003 最大子段和
- hdu1003 Max Sum(最大子序列和) —— dp
- HDU1003 最大子序列和问题
- hdu1003 最大连续子序和
- 等号重构(operator=)函数中应该注意的问题
- 【阅读】《Head First HTML 与 CSS》第五章——为你的页面增加图像
- Android中不用图片资源也能做出好看的界面
- WordPress提速优化篇:清理HEAD头部多余脚本
- 顶点间最短路径求解
- DP计算最大和HDU1003
- 用了牡蛎王,老公满血复活又坚挺起来了
- Mac使用Macports安装软件
- 用了牡蛎王,老公满血复活又坚挺起来了
- outlook 关闭时最小化到任务栏的完美解决方法
- 用了牡蛎王,老公满血复活又坚挺起来了
- Eclipse Tips
- 黑马程序员__基础练习题
- 二叉树的基本操作及遍历