zoukankan      html  css  js  c++  java
  • 经典插花的教训 PKU 1157

    很早以前做过的题,,以为可以秒A ,就立刻敲了

    结果

    骄兵必败啊。。

    心急吃不了豆腐

    所以,惩罚自己写个解题报告

    题意:有N种花,M个花瓶

    按每种花插在不同的花瓶有不同的值。(可以有负数)

    要求按照顺序把花插在花瓶上,先出现的花必须插在后给的花的前方,,

    要求给出最大值

    分析:

    类似数塔的DP

    只是方向是向右下方出发

    每一行取一个值,

    乱七八糟的一坨,,先搁着吧,,改了一个小时的代码,,越改越慢,,可是。还是有用到最近学的东西,,欣慰下,,当做练习吧,,不能为了做题而做题

    #include<iostream>

    #define Nmax 105

    using namespace std;

    const int INF=-600000;

    int Max(int a,int b)

    {

             return a>b?a:b;

    }

    int main()

    {

             int n,m;

             int ans[Nmax],col[Nmax],max_sign[Nmax];

             while(scanf("%d%d",&n,&m)!=EOF)

             {

                       scanf("%d",&max_sign[0]);

                       for(int j2=1;j2<m;j2++)    

                       {

                                scanf("%d",&ans[j2]);

                                max_sign[j2]=Max(ans[j2],max_sign[j2-1]);

                       }

                       int len=m-n+1;

                       for(int i=1;i<n;i++)

                       {

                                len++;

                                int a=max_sign[i-1];

                                for(int j=0;j<m;j++)

                                {

                                         scanf("%d",&col[j]);

                                         if(j>=i&&j<len)

                                         {       

                                                   ans[j]=a+col[j];

                                                   a=max_sign[j];

                                                   max_sign[j]=Max(ans[j],max_sign[j-1]);

                                         }

                                }

                       }

                       int ANS=INF;

                       for(int tt=n-1;tt<m;tt++)

                                         if(ans[tt]>ANS)ANS=ans[tt];

                       cout<<ANS<<endl;

             }

             return 0;

    }

  • 相关阅读:
    开源框架---通过Bazel编译使用tensorflow c++ API 记录
    图像处理---视频<->图片
    C++ ---释放内存(new和delete)
    目标检测---搬砖一个ALPR自动车牌识别的环境
    ubuntu系统---ubuntu16.04 + virtualenv + py2.7 + tf1.5.0 + keras2.2.4 + opencv2.4.9 +Numpy1.14
    Ubuntu系统---中英文问题小记
    Ubuntu系统---nvidia驱动下载之问题
    Ubuntu系统---又显示nvidia-smi 未找到命令
    Ubuntu系统---安装English版本之后的一些工作
    Ubuntu系统---安装“搜狗拼音法”导致桌面打不开
  • 原文地址:https://www.cnblogs.com/gdutbean/p/1698110.html
Copyright © 2011-2022 走看看