zoukankan      html  css  js  c++  java
  • 洛谷P1108 低价购买

    P1108 低价购买

    题目描述

    “低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(2^16范围内的正整数),你可以选择在哪些天购买这支股票。每次购买都必须遵循“低价购买;再低价购买”的原则。写一个程序计算最大购买次数。

    这里是某支股票的价格清单:

    日期 1 2 3 4 5 6 7 8 9 10 11 12

    价格 68 69 54 64 68 64 70 67 78 62 98 87

    最优秀的投资者可以购买最多4次股票,可行方案中的一种是:

    日期 2 5 6 10

    价格 69 68 64 62

    输入输出格式

    输入格式:

    第1行: N (1 <= N <= 5000),股票发行天数

    第2行: N个数,是每天的股票价格。

    输出格式:

    输出文件仅一行包含两个数:最大购买次数和拥有最大购买次数的方案数(<=2^31)当二种方案“看起来一样”时(就是说它们构成的价格队列一样的时候),这2种方案被认为是相同的。

    输入输出样例

    输入样例#1:
    BUYLOW.IN
    12
    68 69 54 64 68 64 70 67 78 62 98 87
    
    输出样例#1:
    BUYLOW.OUT
    4 2
    /*
        最长下降子序列+方案数,没什么好说的
    */
    #include<iostream>
    #include<cstdio>
    using namespace std;
    #define maxn 5010
    int f[maxn],n,a[maxn],ans1;
    long long cnt[maxn],ans2;
    int main(){
        freopen("testdata.in","r",stdin);
        scanf("%d",&n);
        for(int i=1;i<=n;i++)scanf("%d",&a[i]),cnt[i]=1;
        for(int i=1;i<=n+1;i++){
            int tmp=0x7fffffff;
            for(int j=i-1;j>0;j--){
                if(a[i]<a[j]){
                    if(f[i]<f[j]+1){
                        tmp=a[j];
                        f[i]=f[j]+1;
                        cnt[i]=cnt[j];
                    }
                    else if(f[i]==f[j]+1&&a[j]<tmp){
                        tmp=a[j];
                        cnt[i]+=cnt[j];
                    }
                }
            }
            ans1=max(ans1,f[i]);
            ans2=max(ans2,cnt[i]);
        }
        cout<<f[n+1]<<' '<<cnt[n+1];
    }
  • 相关阅读:
    自定义组件要加@click方法
    绑定样式
    647. Palindromic Substrings
    215. Kth Largest Element in an Array
    448. Find All Numbers Disappeared in an Array
    287. Find the Duplicate Number
    283. Move Zeroes
    234. Palindrome Linked List
    202. Happy Number
    217. Contains Duplicate
  • 原文地址:https://www.cnblogs.com/thmyl/p/7491999.html
Copyright © 2011-2022 走看看