zoukankan      html  css  js  c++  java
  • 【codeforces 789C】Functions again

    【题目链接】:http://codeforces.com/contest/789/problem/C

    【题意】

    看式子。

    【题解】

    考虑最后的答案区间;
    如果那个区间是从奇数位置的数字开始的;
    那么奇数位上的|a[i+1]-a[i]|的系数(-1)^(i-l)就为1否则为-1
    如果那个区间是从偶数位置的数字开始的;
    那么偶数位….就为-1;
    按照这个规则我们处理出b[i]=|a[i+1]-a[i]|
    然后分两类处理
    一种是偶数位的b[i]为正,奇数位的为负;
    另一种是奇数位。。。负。。。。正
    然后做最大连续子序列就好了;
    这两种情况对应了起点是偶数和奇数的情况;
    因为偶数的话,起点肯定是偶数->因为偶数是正的,奇数是负的你肯定一开始先选个正数啊
    奇数的话。。起点。。肯定。。

    【完整代码】

    #include <bits/stdc++.h>
    using namespace std;
    #define lson l,m,rt<<1
    #define rson m+1,r,rt<<1|1
    #define LL long long
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    #define mp make_pair
    #define pb push_back
    #define fi first
    #define se second
    #define rei(x) scanf("%d",&x)
    #define rel(x) scanf("%lld",&x)
    #define ref(x) scanf("%lf",&x)
    
    typedef pair<int, int> pii;
    typedef pair<LL, LL> pll;
    
    const int dx[9] = { 0,1,-1,0,0,-1,-1,1,1 };
    const int dy[9] = { 0,0,0,-1,1,-1,1,-1,1 };
    const double pi = acos(-1.0);
    const int N = 1e5+100;
    
    int n;
    LL a[N],b[N],ans = 0;
    
    LL gao()
    {
        LL ret = 0,ma = 0;
        rep1(i, 1, n)
        {
            if (ret < 0)
                ret = b[i];
            else
                ret = ret + b[i];
            ma = max(ma, ret);
        }
        return ma;
    }
    
    int main()
    {
        //freopen("F:\rush.txt", "r", stdin);
        rei(n);
        rep1(i, 1, n)
            rel(a[i]);
        rep1(i, 1, n - 1)
        {
            b[i] = a[i + 1] - a[i];
            if (b[i] < 0) b[i] = -b[i];
            if ((i % 2) == 0)
                b[i] = -b[i];
        }
        n--,ans = max(ans, gao());
        rep1(i, 1, n)
            b[i] = -b[i];
        ans = max(ans, gao());
        cout << ans << endl;
        //printf("
    %.2lf sec 
    ", (double)clock() / CLOCKS_PER_SEC);
        return 0;
    }
  • 相关阅读:
    C#学习资源汇总
    ASP.NET MVC从视图传参到控制器的几种形式
    ASP.NET MVC之从控制器传递数据到视图方式
    Scrapy at a glance预览
    登录views
    django加密解密api
    django静态模版使用
    django重定向
    Django 2.1.3 文档
    秀图看图 隐私声明
  • 原文地址:https://www.cnblogs.com/AWCXV/p/7626514.html
Copyright © 2011-2022 走看看