zoukankan      html  css  js  c++  java
  • P1969 积木大赛

    题意:给你一段序列,一次操作:[l,r]内所有数+1

       初始序列全为0

       现在给你最后序列,问最少操作几次能达到这样的序列

    蒟蒻表示秒想到------差分啊

    每次差分必有一个+1,一个-1

    把差分数组求出来,累加(绝对值之和),

    每次操作一个+1,一个-1,所以最后/2就是答案。。。。

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cctype>
    #include<algorithm>
    using namespace std;
    #define int long long
    #define olinr return
    #define _ 0
    #define love_nmr 0
    #define DB double
    int cha[105050];
    inline int read()
    {
        int x=0,f=1;
        char ch=getchar();
        while(!isdigit(ch))
        {
            if(ch=='-')
                f=-f;
            ch=getchar();
        }
        while(isdigit(ch))
        {
            x=(x<<1)+(x<<3)+(ch^48);
            ch=getchar();
        }
        return x*f;
    }
    inline void put(int x)
    {
        if(x<0)
        {
            x=-x;
            putchar('-');
        }
        if(x>9)
            put(x/10);
        putchar(x%10+'0');
    }
    inline int abss(int x)
    {
        if(x<0) return -x;
        return x;
    }
    int n;
    signed main()
    {
        n=read();
        int x=0,y=0;
        for(int i=1;i<=n;i++)
        {
            x=read();
            cha[i]=x-y;
            y=x;
        }
        cha[n+1]=-y;
        int ans=0;
        for(int i=1;i<=n+1;i++)
            ans+=abss(cha[i]);
        put(ans>>1);
        olinr ~~(0^_^0)+love_nmr;
    }
  • 相关阅读:
    微软软件
    绘图软件安装出错解决方法
    Windows平台 Faster-RCNN 制作自己的数据集
    POJ2456 Agressive Cows
    P1030 求先序排列
    Luogu P2015二叉苹果树
    P2234 [HNOI2002]营业额统计
    Luogu P1347排序
    Luogu P1038神经网络
    Luogu P1006传纸条
  • 原文地址:https://www.cnblogs.com/olinr/p/9548916.html
Copyright © 2011-2022 走看看