D.Bad Prices(codeforces1213/B)

Posted dreamingbetter

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了D.Bad Prices(codeforces1213/B)相关的知识,希望对你有一定的参考价值。

题意:求坏天,即求该天之后有没有比该天价格更低的一天,求这种天的天数。

思路:从后面往前找,有比后面这个标记的数还小的数再标记这个更小的数。

反想一下,如果从前面开始找,那得把每个数和后面所有数都对比一遍。

技术图片
#include<stdio.h>
#include<math.h>
int main()

    int t,n,a[150010],i,sum,flag;
    while(~scanf("%d",&t))
    
        while(t--)
        
            sum=0;
            scanf("%d",&n);
            for(i=0;i<n;i++)
                scanf("%d",&a[i]);
            for(i=n-2,flag=a[n-1];i>=0;i--)
            
                
                if(flag<a[i])
                
                    sum++;
                else if(flag>a[i])
                
                    flag=a[i];
                
            
            printf("%d\n",sum);
        
    
View Code

 

以上是关于D.Bad Prices(codeforces1213/B)的主要内容,如果未能解决你的问题,请参考以下文章

[Codeforces Round #301 (Div. 2) D]Bad Luck Island(概率Dp)

Codeforces Round #570 (Div. 3) B. Equalize Prices

121. 买卖股票的最佳时机

cf540D. Bad Luck Island(概率dp)

leetcode121

leetcode(121-123)买股票的最佳时机