• 洛谷1970 花匠


    洛谷1970 花匠


    原题链接


    交题记录

    21:48 1A


    题解

    诡异的条件(最讨厌这种东西了):
    也就是说,花的高度要一上一下一上一下一上一下
    那么,想一想贪心的方法
    一上一下中间会有一个转折点
    如果一个点是转折点(即:同时高于左右或是低于左右)就能令ans++。
    再加上首尾,大水题。
    正确性?

    • 当然是错的。
      随便一个样例卡飞
      233 233 233 233 233 ans=1 out=2
      然而出题人并不恶心
    • 除了上面?
      当然还是错的。。。
      2 233 233 2 ans=3 out=2
      所以说相邻的高度相等比较麻烦。直接删掉反正没用。。。
    • 现在呢?
      当然是对的啦。。。

    Code

    // It is made by XZZ
    #include<cstdio>
    #include<algorithm>
    #include<cmath>
    using namespace std;
    #define rep(a,b,c) for(rg int a=b;a<=c;a++)
    #define drep(a,b,c) for(rg int a=b;a>=c;a--)
    #define erep(a,b) for(rg int a=fir[b];a;a=nxt[a])
    #define il inline
    #define rg register
    #define vd void
    typedef long long ll;
    il int gi(){
        rg int x=0,f=1;rg char ch=getchar();
        while(ch<'0'||ch>'9')f=ch=='-'?-1:f,ch=getchar();
        while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar();
        return x*f;
    }
    const int maxn=100010,maxm=maxn<<1;
    int h[maxn];
    int main(){
        int n=gi();
        rep(i,1,n){
            h[i]=gi();
            if(h[i]==h[i-1])--i,--n;
        }
        int ans=0;
        rep(i,2,n-1)if((h[i]>h[i-1]&&h[i]>h[i+1])||(h[i]<h[i-1]&&h[i]<h[i+1]))++ans;
        printf("%d
    ",ans+2);
        return 0;
    }
    

    PS.天天刷联赛水题写博客都好无聊。。。

  • 相关阅读:
    sys_refcursor vs ref cursor in oracle
    Oracle-cursor动态游标
    游标(cursor)--显式游标&隐式游标、游标四个属性、循环遍历
    PL/SQL IF CASE
    python字符串的encode和decode
    python中raw_input()与input()
    Emacs显示行号
    Python爬虫——抓取糗百段子
    Python代码一定要对齐
    Python标准库内置函数——hasattr
  • 原文地址:https://www.cnblogs.com/xzz_233/p/7425457.html
Copyright © 2020-2023  润新知