zoukankan      html  css  js  c++  java
  • Codeforces Round #446 (Div. 2) D. Gluttony 构造,思维

    D. Gluttony

    题意: 给出一个 a[] 序列,要你构造一个 b[] 序列。 要满足任意的 a[] 与对应标号的 b[] 的和不相同。

    tags:比赛的时候没想到。。

    其实只要顺序排个序,然后偏移一下就好,有点”田忌赛马“的意思  ~_~

    即 a1,a2,.....an  升序, 偏移一下变为 an,a1,......a[n-]   。 前 n-1 个 a[i] 都会比 对应的 b[i] 小。

    如果标号不选 n 的话,那肯定不会相等; 如果选了 n ,那要相等,只能选取全部 n 个数才能相等,而题目确定了不能取 n 个数。

    #include<bits/stdc++.h>
    using namespace std;
    #pragma comment(linker, "/STACK:102400000,102400000")
    #define rep(i,a,b) for (int i=a; i<=b; ++i)
    #define per(i,b,a) for (int i=b; i>=a; --i)
    #define mes(a,b)  memset(a,b,sizeof(a))
    #define INF 0x3f3f3f3f
    #define MP make_pair
    #define PB push_back
    #define fi  first
    #define se  second
    typedef long long ll;
    const int N = 200005;
    
    int n, b[N];
    pair< int , int > p[N];
    int main()
    {
        scanf("%d", &n);
        rep(i,1,n)
            scanf("%d", &p[i].fi), p[i].se=i;
        sort(p+1, p+1+n);
        b[p[1].se] = p[n].fi;
        rep(i,2,n)
            b[p[i].se] = p[i-1].fi;
        rep(i,1,n)
            printf("%d ", b[i]);
    
    
        return 0;
    }
  • 相关阅读:
    数据库
    php
    123
    es5新增
    正则表达式
    cookie
    Event事件下
    事件对象
    dva框架的下拉菜单的父子关系
    dva框架的table表格---删除
  • 原文地址:https://www.cnblogs.com/sbfhy/p/7868182.html
Copyright © 2011-2022 走看看