zoukankan      html  css  js  c++  java
  • suoi38 卖XY序列 (贪心+前缀和)

    因为只能带一个,买卖价格又一样,所以只要右边的比左边的大,就从这买下来然后带到下一个卖掉就行了(我想到别处再卖的话大不了再重新买回来嘛)

    所以给max(w[i]-w[i-1],0)维护一个前缀和就行了

     1 #include<bits/stdc++.h>
     2 #define pa pair<int,int>
     3 #define CLR(a,x) memset(a,x,sizeof(a))
     4 using namespace std;
     5 typedef long long ll;
     6 const int maxn=1e6+10;
     7 
     8 inline ll rd(){
     9     ll x=0;char c=getchar();int neg=1;
    10     while(c<'0'||c>'9'){if(c=='-') neg=-1;c=getchar();}
    11     while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
    12     return x*neg;
    13 }
    14 
    15 int N,M;
    16 ll s[maxn];
    17 
    18 int main(){
    19     //freopen(".in","r",stdin);
    20     int i,j,k;
    21     N=rd();
    22     for(i=2,j=rd();i<=N;i++){
    23         k=rd();
    24         s[i]=s[i-1]+max(k-j,0);
    25         j=k;
    26     }M=rd();
    27     for(i=1;i<=M;i++){
    28         int l=rd(),r=rd();
    29         printf("%lld
    ",s[r]-s[l]);
    30     }
    31     return 0;
    32 }
  • 相关阅读:
    experiment 2
    experiment 5
    php 代码审计之变量覆盖
    experiment 4
    experiment 3
    experiment 1
    2018铁三测评WP
    Lesson 1
    实验四、决策树算法及应用
    实验三 朴素贝叶斯算法及应用
  • 原文地址:https://www.cnblogs.com/Ressed/p/9782220.html
Copyright © 2011-2022 走看看