HDU_1003Max Sum 简单动归
以前做过这道题目,那是还不懂状态方程。乱搞一气:
#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 简单动归的更多相关文章
- bjfu1332 简单动规
挺简单的动态规划题.我用记忆化搜索打的.直接上代码: /* * Author : ben */ #include <cstdio> #include <cstdlib> #in ...
- HITtrainning20140417题解
题目列表: ID Origin Title 10 / 15 Problem A FZU 2152 文件系统 0 / 16 Problem B FZU 2153 A simple geome ...
- 洛谷 P1052 过河
题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数 ...
- HDU-1518 Square(DFS)
Square Time Limit : 10000/5000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submi ...
- App启动页设计实例与技巧
App启动页,也称闪屏页,最初是为缓解用户等待Web/iOS/Android App数据加载的焦虑情绪而出现,后被设计师巧妙用于品牌文化展示,服务特色介绍以及功能界面熟悉等平台进行设计,被赋予了更加丰 ...
- 中山普及Day13——普及
又是迷之自信的说...估的230,考的50整,我欲上天呐!!! T1:深渊(怕不是黑暗种族聚集地???) 思路:动归.而且是简单动归.转移方程:Fi,j=max(Fi-1,j,Fi,j,Fi-1,(j ...
- [zoj3813]Alternating Sum 公式化简,线段树
题意:给一个长度不超过100000的原串S(只包含数字0-9),令T为将S重复若干次首尾连接后得到的新串,有两种操作:(1)修改原串S某个位置的值(2)给定L,R,询问T中L<=i<=j& ...
- 极简反传(BP)神经网络
一.两层神经网络(感知机) import numpy as np '''极简两层反传(BP)神经网络''' # 样本 X = np.array([[0,0,1],[0,1,1],[1,0,1],[1, ...
- 【mongoDB高级篇②】大数据聚集运算之mapReduce(映射化简)
简述 mapReduce从字面上来理解就是两个过程:map映射以及reduce化简.是一种比较先进的大数据处理方法,其难度不高,从性能上来说属于比较暴力的(通过N台服务器同时来计算),但相较于grou ...
随机推荐
- JS闭包经典例题
上一篇文章谈论了闭包的概念和一些应用,并给出一个例题,这篇文章就此道例题进行讨论. function fun(n,o) { console.log(o); return { fun:function( ...
- URAL 1036(dp+高精度)
Time Limit:2000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Status Pract ...
- Ubuntu_16.04_Lamp
Ubuntu_16.04安装Lamp开发环境 目录 安装Apache2 安装php5 安装mysql-server 安装php5-mysql(php使用mysql服务,包括mysql,mysqli,m ...
- C# 微信公众平台开发(3)-- 接受/发送消息
1.接收事件 关注/取消关注事件: 用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL. 通过微信返回的XML,我们通过代码 就可以作相应的处理: 先获取返回的信息: if (Ht ...
- LOJ 1370 Bi-shoe and Phi-shoe(欧拉函数的简单应用)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1370 题意:给你n个整数,第i个整数为Xi.定义phi(k)为k的欧拉函数值,设pi为 ...
- HDU3863:No Gambling
Problem Description One day, Flyvan introduced a new game to his two friends, Oregon Maple and Grape ...
- SQL Server配置管理WMI问题
今天在打开数据库的时候,连接不上.一看错误就知道肯定是SQL Server的服务没开启,所以自然而然的去SQL Server配置管理中去打开,但是打开配置管理器的时候出现了下面的错误: ...
- Java垃圾回收初步理解
Java技术提供了一个系统级的线程,即垃圾收集器线程(线程优先级低),垃圾收集线程在一个Java程序中的执行是自动的,不能强制执行, 可以手动调用java.lang.System.gc(),通知JVM ...
- (Problem 70)Totient permutation
Euler's Totient function, φ(n) [sometimes called the phi function], is used to determine the number ...
- 【转】AC算法详解
原文转自:http://blog.csdn.net/joylnwang/article/details/6793192 AC算法是Alfred V.Aho(<编译原理>(龙书)的作者),和 ...