D. Toy Sum(cf)
http://codeforces.com/problemset/problem/405/D
题意:已知集合S={1,2,3......1000000},s=1000000,从集合S中选择n个数,X={x1,x2,x3,...xn},计算sum=x1-1+x2-1+....+xn-1;从剩下的元素Y={y1,y2,y3,...}中选择一些数,使得s-y1+s-y2+...=sum,输出yi的个数及yi。
思路:可以根据元素的对称性来找yi。因为x-1=s-y,则y=s-x+1,即对于每一个x,对应的可选择一个y=s-x+1,如果y不在X集合中,则直接输出y。如果y也在X集合中,由于(x-1)+(y-1)=x-1+s-x+1-1=s-1,此时只要在Y集合中选两个对称的数输出即可。因为(s-y1)+(s-y2) = 2s-(y1+y2) = 2s-(s+1) = s-1,两者的最终结果是相同的,故可以互相替代。所以可以找出符合条件的n个y元素。
#include <stdio.h>
#include <string.h> const int s = ;
int vis[s]; int main()
{
int n,x;
while(~scanf("%d",&n))
{ memset(vis,,sizeof(vis));
for (int i = ; i < n; i++)
{
scanf("%d",&x);
vis[x] = ;
}
int cnt = ;
printf("%d\n",n);
for (int i = ; i <= s; i++)
{
if (vis[i]&&!vis[s-i+])
{
printf("%d ",s-i+);
cnt++;
}
}
for (int i = ; i <= s&&cnt!=n; i++)
{
if (!vis[i]&&!vis[s-i+])
{
printf("%d %d ",i,s-i+);
cnt+=;
}
}
puts("");
}
return ;
}
D. Toy Sum(cf)的更多相关文章
- Codeforces Round #238 (Div. 2) D. Toy Sum 暴搜
题目链接: 题目 D. Toy Sum time limit per test:1 second memory limit per test:256 megabytes 问题描述 Little Chr ...
- Codeforces Round #238 (Div. 2) D. Toy Sum
D. Toy Sum time limit per test:1 second memory limit per test:256 megabytes input:standard input o ...
- Codeforces Round #238 (Div. 2) D. Toy Sum(想法题)
传送门 Description Little Chris is very keen on his toy blocks. His teacher, however, wants Chris to s ...
- codeforces Toy Sum
题意:给你x个集合的数,然后根据求y集合的数. 思路:根据对称性,先找出对称出现的个数cnt,然后对称位置的中如果出现一个的把另一个加入到y集合中,再找出cnt个对应位置都不出现的加入到y集合中. # ...
- codeforces D. Toy Sum 解题报告
题目链接:http://codeforces.com/problemset/problem/405/D 题目意思:从 1 - 1000000 中选择 n 个数:x1,x2,...,xn,对 x1-1, ...
- cf div2 238 D
D. Toy Sum time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- UOJ#213——【UNR #1】争夺圣杯
1.题意:给一个序列,枚举长度x,然后在这个序列中所有长度为x的区间,我们求出这些区间的最大值之和并取模,最后将所有的异或起来就好啦 2.分析:听说好多人写的 ,特来写一发 的算法骗访问量 话说这个东 ...
- Codeforces Round #238 (Div. 1)
感觉这场题目有种似曾相识感觉,C题还没看,日后补上.一定要坚持做下去. A Unusual Product 题意: 给定一个n*n的01矩阵,3种操作, 1 i 将第i行翻转 2 i 将第i列翻转 3 ...
- opencv源码学习: getGaussianKernel( 高斯核);
参考: https://blog.csdn.net/u012633319/article/details/80921023 二维高斯核, 可以根据下面的公式推到为两个一维高斯核的乘积: 原型: /** ...
随机推荐
- 如何防止XshellPortable、putty、SecureCRT等断网造成Linux命令中断
在使用XshellPortable.putty.SecureCRT等工具远程连接Linux系统时,如果我们执行了一大堆命令,在命令尚未执行完毕,客户端突然断网或者XshellPortable.putt ...
- 在vmware中 centos7安装gooderp
环境为windows 10系统,vmware 12,centos 7.4.centos安装了gnome桌面,用里面的终端来安装,自带的firefox浏览器. 增加用户 首先要新建一个用户来管理good ...
- fork 系统调用
对自己知识储备的感觉就是过于肤浅,很多东西知其名后就不了了之 此系列博客将记录进程分析的学习过程,希望能够多些深度 提到进程,最容易的想到就是fork系统调用,比较好和快速的找到的fork的相关信息就 ...
- 移动端placeholder不能垂直居中解决方案
1.问题描述 问题如图:手机端placeholder文字偏上,垂直方向不居中,input光标显示偏上解决IE下不支持placeholder属性 2.解决方案 css .phoneNumber inpu ...
- git 忽略文件[.gitignore]常用配置
.idea .buildpath .project .settings .Ds_Store composer.json composer.lock a.php /public/uploads /run ...
- 嵌入式LinuxC语言程序设计基础教程
第1章 嵌入式LinxuC语言开发工具 第2章 数据 第3章 数据的输入输出 第4章 运算符和表达式 第5章 程序结构和控制语句 第6章 数组 第7章 指针 第8章 函数 第9章 用户自定义数据类型 ...
- [bzoj2141][排队] (分块大法好)
Description 排排坐,吃果果,生果甜嗦嗦,大家笑呵呵.你一个,我一个,大的分给你,小的留给我,吃完果果唱支歌,大家乐和和.红星幼儿园的小朋友们排起了长长地队伍,准备吃果果.不过因为小朋友们的 ...
- A Simple Problem with Integers 线段树 区间更新 区间查询
Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 115624 Accepted: 35897 Case Time Lim ...
- Ubuntu 16.04安装XMind 8
下载: http://www.xmind.net/download/linux/ 解压 sudo unzip xmind-8-update2-linux.zip -d xmind8 移动到/opt目录 ...
- ORA_ROWSCN
这是一个非常重要的特性.从oracle10g开始,oracle在表上引入了一个伪列ORA_ROWSCN.该列记录了每一列最后更改的SCN.但是有两种模式,一种是默认的是data block级别,另一种 ...