题目链接:http://codeforces.com/problemset/problem/405/D

题目意思:从 1 ~ 1000000 中选择 n 个数:x1,x2,...,xn,对 x1-1,x2-1,...xn-1 求和得s1。然后在 1 ~ 1000000 中除已经选择过的n个数中选择一些数,假设为y1, y2,...ym,设s = 1000000,对s-y1,s-y2,...,s-ym求和,如果这个和与s1相等,则输出y1,y2,...,ym

可以这样想,由于集合X中:x1,x2,...,xn 是各不相同的,那么在S - X,设为Y(假定S是全集:1,2,...,n)对每个数xi(i : 1 ~ n)一定有相应的s-i+1与之对应(前提是,如果S-xi不在集合X中);如果有相应的s-xi+1在X中,那么可以找没有选择过的yj,s-yj+1来替换xi, s-xi+1。例如X中有 100, 999901而没有99, 999902,那么可以选择99, 999902来替代。效果是相同的。这样Y中的数量跟n是相同的。

 #include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std; const int maxn = 1e6;
int x[maxn]; int main()
{
int n, i, j, t;
while (scanf("%d", &n) != EOF)
{
memset(x, , sizeof(x));
for (i = ; i < n; i++)
{
scanf("%d", &t);
x[t] = ;
}
printf("%d\n", n);
int cnt = ;
for (i = ; i <= maxn; i++)
{
if (x[i] && !x[maxn-i+])
{
printf("%d ", maxn-i+);
cnt++;
}
}
for (i = ; i <= maxn && cnt != n; i++)
{
if (!x[i] && !x[maxn-i+])
{
printf("%d %d ", i, maxn-i+);
cnt += ;
}
}
printf("\n");
}
return ;
}

codeforces D. Toy Sum 解题报告的更多相关文章

  1. codeforces 577B. Modulo Sum 解题报告

    题目链接:http://codeforces.com/problemset/problem/577/B 题目意思:就是给出 n 个数(a1, a2, ..., an) 和 m,问能不能从这 n 个数中 ...

  2. Codeforces Round 665 赛后解题报告(暂A-D)

    Codeforces Round 665 赛后解题报告 A. Distance and Axis 我们设 \(B\) 点 坐标为 \(x(x\leq n)\).由题意我们知道 \[\mid(n-x)- ...

  3. Codeforces Round 662 赛后解题报告(A-E2)

    Codeforces Round 662 赛后解题报告 梦幻开局到1400+的悲惨故事 A. Rainbow Dash, Fluttershy and Chess Coloring 这个题很简单,我们 ...

  4. LeetCode 2 Add Two Sum 解题报告

    LeetCode 2 Add Two Sum 解题报告 LeetCode第二题 Add Two Sum 首先我们看题目要求: You are given two linked lists repres ...

  5. LeetCode 1 Two Sum 解题报告

    LeetCode 1 Two Sum 解题报告 偶然间听见leetcode这个平台,这里面题量也不是很多200多题,打算平时有空在研究生期间就刷完,跟跟多的练习算法的人进行交流思想,一定的ACM算法积 ...

  6. LeetCode: Combination Sum 解题报告

    Combination Sum Combination Sum Total Accepted: 25850 Total Submissions: 96391 My Submissions Questi ...

  7. Codeforces Round #277.5 解题报告

    又熬夜刷了cf,今天比正常多一题.比赛还没完但我知道F过不了了,一个半小时贡献给F还是没过--应该也没人Hack.写写解题报告吧= =. 解题报告例如以下: A题:选择排序直接搞,由于不要求最优交换次 ...

  8. USACO Section2.3 Zero Sum 解题报告 【icedream61】

    zerosum解题报告----------------------------------------------------------------------------------------- ...

  9. codeforces 581C. Developing Skills 解题报告

    题目链接:http://codeforces.com/problemset/problem/581/C 题目意思:给出 n 个数:a1, a2, ..., an (0 ≤ ai ≤ 100).给出值 ...

随机推荐

  1. Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统

    当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...

  2. sql数据库快照与恢复 规则绑定

    存在数据库快照的话我发进行数据库分离 CREATE DATABASE <快照名称> ON (NAME=<数据库文件名>,FILENAME='<存放地址>') AS ...

  3. spring异步执行报异常No qualifying bean of type &#39;org.springframework.core.task.TaskExecutor&#39; available

    最近观察项目运行日志的时候突然发现了一个异常, [2018-04-03 10:49:07] 100.0.1.246 http-nio-8080-exec-9 DEBUG org.springframe ...

  4. iOS -- Effective Objective-C 阅读笔记 (8)

    若想令自己缩写的对象具有拷贝功能, 则需要实现 NSCopying 协议, 如果自定义的对象分为可变版本与不可变版本, 那么就要同时实现 NSCopying 协议和 NSMutableCopying ...

  5. Centos7 多网卡抓包可以抓到UDP但程序recvfrom不到

    问题: Centos7多网卡,抓包时发现某网卡上有UDP包,但是用程序recvfrom无法接收到消息. 解决步骤: 1.确认防火墙是否关闭: 已关闭 2.确认网卡是否开启过滤:cat /proc/sy ...

  6. Xcode编译警告Assigning to &#39;id&lt;XXXDelegat&gt; ——Nullable&#39; from incompatible type &#39;XXXView *const_strong&#39;

    编译报警告 可能是 自定义分类使用协议时出现与父类协议的冲突 解决方法如下:    

  7. 2019.01.14 bzoj5343: [Ctsc2018]混合果汁(整体二分+权值线段树)

    传送门 整体二分好题. 题意简述:nnn种果汁,每种有三个属性:美味度,单位体积价格,购买体积上限. 现在有mmm个询问,每次问能否混合出总体积大于某个值,总价格小于某个值的果汁,如果能,求所有方案中 ...

  8. ASP.NET判断是否为手机登录

    protected void Page_Load(object sender, EventArgs e) { MobileHandle(); } 页面加载时候判断是否为手机登录 protected v ...

  9. linux echo命令

    该篇文章转载于:http://www.cnblogs.com/ZhangShuo/articles/1829589.html linux的echo命令, 在shell编程中极为常用, 在终端下打印变量 ...

  10. mysql数据库中查看当前使用的数据库是哪个数据库?

    环境描述: mysql版本:5.5.57-log 操作系统版本:Red Hat Enterprise Linux Server release 6.6 (Santiago) 需求说明: 查看当前使用的 ...