zoukankan      html  css  js  c++  java
  • hdu1087

    http://acm.hdu.edu.cn/showproblem.php?pid=1087

    View Code
    //dp问题:
    // 状态转移方程 b[i]=max(b[i], b[j]+a[i]);
    #include"iostream"
    using namespace std;
    #define M 1010
    int n;
    int a[M],b[M];
    int i,j;
    int main()
    {
    while(cin>>n,n)
    {
    int Max=-0xffff;
    memset(b,
    0,sizeof(0));
    for(i=0;i<n;i++)
    cin
    >>a[i];

    b[
    0]=a[0];
    for(i=1;i<n;i++)
    {
    b[i]
    =a[i];
    for(j=0;j<i;j++)
    if(a[j]<a[i]&&b[i]<b[j]+a[i])
    b[i]
    =b[j]+a[i];
    if(b[i]>Max) Max=b[i];
    }
    cout
    <<Max<<endl;
    }
    return 0;
    }
    dfs(tle)
    #include"iostream"
    using namespace std;
    int a[1010];
    int n,sum;
    int p=0;
    void dfs(int x,int y)
    {
    while(y<=x&&x<n) y++;

    if(a[x]<a[y]&&y<n&&x<n)
    {
    sum
    +=a[y];
    x
    =y;
    if(x<n-1&&y<n-1) dfs(x,y);
    }
    else if(y<n-1){ y++; if(y<n-1) dfs(x,y);}
    }
    int main()
    {
    int i,j;
    while(cin>>n,n)
    {
    for(i=0;i<n;i++) cin>>a[i];
    int Max=-1;
    sum
    =0;
    for(i=0;i<n;i++)
    {
    sum
    =a[i];
    if(Max<sum) Max=sum;
    for(j=i+1; j<n; j++)
    {
    p
    =0;
    if(a[i]<a[j])
    {
    sum
    +=a[j];
    dfs(j,p);
    }
    if(sum>Max) Max=sum;
    sum
    =a[i];
    }
    }
    cout
    <<Max<<endl;
    }
    return 0;
    }
  • 相关阅读:
    注释
    选择器
    SQL语句中查找字符的位置
    SQL语句中截取字符串Substr
    IDENTITY(函数)
    SQL Server设置主键自增长列
    SQL语句操作ALTER
    表的主键
    南京夜市
    夜班
  • 原文地址:https://www.cnblogs.com/FCWORLD/p/1992089.html
Copyright © 2011-2022 走看看