891B - Gluttony

题意

给出一个数字集合 \(a\),要求构造一个数组 \(b\) 为 \(a\) 的某个排列,且满足对于所有下标集合的子集 \(S=\{x_1,x_2,...,x_k\}(1\leq x_i \leq n, 0 < k < n)\),有 \(\sum_{i=1}^{k}a_{x_i}\neq\sum_{i=1}^{k}b_{x_i}\)。

分析

不得不说,当我看到 \(n\) 只有 \(22\) 之后就跑偏了。

对于原数组中的每个数,可以直接确定它在新数组中对应下标的数。原数组中最小的数对应它最大的数,对于其它数,对应的数为刚好小于它的那个数。

解法正确性证明:分两种情况,考虑选择大小为 \(k\) 的子集。

  1. 所选取的子集不包括最大的数(\(b\) 数组中),也就是说 \(b\) 中对应下标的数都分别小于 \(a\) 中的,显然和都小于。
  2. 包括最大的数(\(b\) 数组中),这个下标是 \(a\) 取最小值,\(b\) 取最大值的下标,我们考虑补集,对于补集中的所有下标 \(x_j\),显然 \(a_{x_j}>b_{x_j}\),那么 \(\sum_{j=1}^{n-k}a_{x_j}>\sum_{j=1}^{n-k}b_{x_j}\),显然有 \(\sum_{i=1}^{k}a_{x_i}<\sum_{i=1}^{k}b_{x_i}\)。

这一道题又一次让我感觉到,Codeforces 真好玩!

code

input()
a = list(map(int, input().split()))
for i in a:
print(sorted(a)[sorted(a).index(i)-1])

Codeforces 891B - Gluttony的更多相关文章

  1. codeforces #446 892A Greed 892B Wrath 892C Pride 891B Gluttony

    A  链接:http://codeforces.com/problemset/problem/892/A 签到 #include <iostream> #include <algor ...

  2. Codeforces 892 D.Gluttony

    D. Gluttony time limit per test 2 seconds memory limit per test 256 megabytes input standard input o ...

  3. Gluttony CodeForces - 892D (构造,思维)

    题面: You are given an array a with n distinct integers. Construct an array b by permuting a such that ...

  4. Codeforces Round #446 (Div. 2)

    Codeforces Round #446 (Div. 2) 总体:rating涨了好多,虽然有部分是靠和一些大佬(例如redbag和ShichengXiao)交流的--希望下次能自己做出来2333 ...

  5. Codeforces 892C/D

    C. Pride 传送门:http://codeforces.com/contest/892/problem/C 本题是一个关于序列的数学问题——最大公约数(GCD). 对于一个长度为n的序列A={a ...

  6. CF892D—Gluttony(思维,好题)

    http://codeforces.com/contest/892/problem/D D. Gluttony You are given an array a with n distinct int ...

  7. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  8. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  9. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

随机推荐

  1. Win10间歇性卡顿

    Win10间歇性卡顿 1.关闭不必要的服务:Windows Update.Windows Search.SuperFetch.Background Intelligent Transfer Servi ...

  2. visio应用程序相关设置-选项-常规

    1.用户名称,可读写 ApplicationSettings.UserName m_Visio.Window.Application.Settings.UserName = "BEIJING ...

  3. java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger报错

    java.lang.NoClassDefFoundError: Lorg/apache/log4j/Logger报错 错误提示: java.lang.NoClassDefFoundError: Lor ...

  4. HDU 3446 有贪心思想的01背包

    Proud Merchants Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others) ...

  5. [poj 1743]差分+后缀数组

    题目链接:http://poj.org/problem?id=1743 首先,musical theme只与前后位置的增减关系有关,而与绝对的数值无关,因此想到做一次差分. 然后对于差分后的数组,找到 ...

  6. linux 下查看网卡工作速率

    [root@hadoop058 ~]# mii-tool eth0: negotiated 100baseTx-FD, link ok 100M linux 下查看网卡工作速率 Ethtool是用于查 ...

  7. 【BZOJ2460】【BJOI2011】元素 [线性基]

    元素 Time Limit: 20 Sec  Memory Limit: 128 MB[Submit][Status][Discuss] Description 相传,在远古时期,位于西方大陆的 Ma ...

  8. szoj461【四校联考0430】挑战

    传送门:(涉及版权忽略) [题解] 我们发现n的范围很小,提示我们可以折半,然后我们就会了O(T2^(n/2)*n)的做法,然而会T. 考虑如何优化.直接排序会多一个log(2^(n/2))也就是n, ...

  9. 金中欢乐赛 C题

    题目传送门 这道题 hash就可以写了 弄了半天有点智障 强行压一压就okay了的说 #include<cstdio> #include<cstring> #include&l ...

  10. MYSQL学习心得 优化

    这一篇主要介绍MYSQL的优化,优化MYSQL数据库是DBA和开发人员的必备技能 MYSQL优化一方面是找出系统瓶颈,提高MYSQL数据库整体性能:另一方面需要合理的结构设计和参数调整,以提高 用户操 ...