以前做过这道题目,那是还不懂状态方程。乱搞一气:

 #include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=+;
int a[maxn];
int main()
{
int T;
scanf("%d",&T);
for(int i=;i<=T;i++)
{
int n;
scanf("%d",&n);
for(int j=;j<n;j++)
scanf("%d",&a[j]);
int maxd=a[];
int temp=a[];
int left=;
int right=;
int x=;
for(int j=;j<n;j++)
{
if(temp+a[j]<a[j])
{
// left=right=j;//刚开始这里错了,不能直接转过去,先存到x中
temp=a[j];
x=j;
}
else
temp+=a[j];
if(temp>maxd)
{
maxd=temp;
left=x;
right=j;
}
}
printf("Case %d:\n",i);
printf("%d %d %d\n",maxd,left+,right+);
if(i!=T);
printf("\n");
}
}

后来的做法:

 //状态方程:dp[j]=max(dp[j-1]+a[j],a[j]);
//dp[0]=a[0];
#include <iostream>
using namespace std;
int dp[];
int a[];
int re_start[];
int main()
{
int i,t;
cin>>t;
for(i=;i<=t;i++)
{
int n,j;
cin>>n;
for(j=;j<n;j++)
cin>>a[j];
dp[]=a[];
re_start[]=;
for(j=;j<n;j++)
{
if(dp[j-]+a[j]>=a[j])
{
dp[j]=dp[j-]+a[j];
re_start[j]=re_start[j-];
}
else
{
dp[j]=a[j];
re_start[j]=j;
}
}
int d=dp[];
for(j=;j<n;j++)
if(dp[j]>d)
d=dp[j];
printf("Case %d:\n",i);
for(j=;j<n;j++)
if(d==dp[j])
{
printf("%d %d %d\n",d,re_start[j]+,j+);
break;
}
if(i!=t)
printf("\n");
}
return ;
}

HDU_1003Max Sum 简单动归的更多相关文章

  1. bjfu1332 简单动规

    挺简单的动态规划题.我用记忆化搜索打的.直接上代码: /* * Author : ben */ #include <cstdio> #include <cstdlib> #in ...

  2. HITtrainning20140417题解

    题目列表:     ID Origin Title 10 / 15 Problem A FZU 2152 文件系统   0 / 16 Problem B FZU 2153 A simple geome ...

  3. 洛谷 P1052 过河

    题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...

  4. HDU-1518 Square(DFS)

    Square Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

  5. App启动页设计实例与技巧

    App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰 ...

  6. 中山普及Day13——普及

    又是迷之自信的说...估的230,考的50整,我欲上天呐!!! T1:深渊(怕不是黑暗种族聚集地???) 思路:动归.而且是简单动归.转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j ...

  7. [zoj3813]Alternating Sum 公式化简,线段树

    题意:给一个长度不超过100000的原串S(只包含数字0-9),令T为将S重复若干次首尾连接后得到的新串,有两种操作:(1)修改原串S某个位置的值(2)给定L,R,询问T中L<=i<=j& ...

  8. 极简反传(BP)神经网络

    一.两层神经网络(感知机) import numpy as np '''极简两层反传(BP)神经网络''' # 样本 X = np.array([[0,0,1],[0,1,1],[1,0,1],[1, ...

  9. 【mongoDB高级篇②】大数据聚集运算之mapReduce(映射化简)

    简述 mapReduce从字面上来理解就是两个过程:map映射以及reduce化简.是一种比较先进的大数据处理方法,其难度不高,从性能上来说属于比较暴力的(通过N台服务器同时来计算),但相较于grou ...

随机推荐

  1. 配置vim之插件

    涉及linux平台下ctags, taglist插件 ctags是一个用于产生代码索引文件的插件,它产生的索引可以帮助我们更快的定位到特定位置. ctags支持很多语言,比如java, c, c++, ...

  2. 2015腾讯暑期实习生 Web前端开发 面试经历 --作者imwtr

    1.现在有100亿个数字大小为1到10亿的数字,在这100亿个数字里边只有一个数字出现的次数是奇数次的,你用什么方法,找出这个数字呢? 答:显然至少要全部过一遍,可以用位运算,遍历数组,最后剩下的数字 ...

  3. ASP.NET关于Eval的值

    ASP.NET邦定数据“<%#Eval("Sex")%>”运用三元运算符: <%#(Eval(") ? "男" : "女& ...

  4. What I Have Lived For(我为什么而活着-罗素)

    What I Have Lived For by Bertrand Russell Three passions, simple but overwhelmingly strong, have gov ...

  5. SVN 无法连接主机:由于目标计算机积极拒绝,无法连接

    问题:使用追溯功能时因为时间太长,所以强行关闭了SVN;当再次连接的时候就发现不能连接到SVN了,错误消息: 无法连接主机:由于目标计算机积极拒绝,无法连接 解决:重启一下服务器的SVN 服务就可以了

  6. php定界符 <<< 的作用及使用注意事项

    按照原样输出,包括换行符.特殊字符等 任何特殊字符都不需要转义,比如双引号.单引号,它会按照原样输出 像在双引号字符串中一样使用php的变量输出 定界符<<<,当需要输出大段文本时, ...

  7. poj 2153 Rank List(查找,Map)

    题目链接:http://poj.org/problem?id=2153 思路分析: 判断Li Ming的成绩排名,需要在所有的数据章查找成绩比其高的人的数目,为查找问题. 查找问题可以使用Hash表, ...

  8. leetCode解题报告5道题(六)

    题目一: Longest Substring Without Repeating Characters Given a string, find the length of the longest s ...

  9. Silverlight CheckBoxList

    项目要用到复选框,可是在Silverlight中不存在CheckBoxList.通过查阅资料以及依据自己的理解,写了简单演示样例: 1.XAML <UserControl x:Class=&qu ...

  10. js中赋值表达式的值为右边

    var name="the window";var o={ name:"the object", getName:function(){ console.log ...