以后碰到这种题就应该往对称性想:设x的对称数x‘是1e6-x+1

对于任意一组对称数x+x'-2=1e6-1,2e6-(x+x')=1e6-1,即X集合Y集合同时加上任意一组对称数都是可以的

枚举每个xi,如果其对称数1e6-xi+1不在集合X中,那么在Y中添加这个对称数即可,正确性显然

反之如果对称数在集合X中,则X集合的和多了1e6,我们再去找一组不在集合中的对称数,将这组数加入集合Y中,等价于Y集合的数和也多了1e6

  1. #include <bits/stdc++.h>
  2. #define maxn 2000010
  3. #define maxm 110
  4. using namespace std;
  5. int S, n, m, a[maxn], vis[maxn], ans[maxn], v[maxn];
  6.  
  7. inline int read(){
  8. int s = , w = ;
  9. char c = getchar();
  10. for (; !isdigit(c); c = getchar()) if (c == '-') w = -;
  11. for (; isdigit(c); c = getchar()) s = (s << ) + (s << ) + (c ^ );
  12. return s * w;
  13. }
  14.  
  15. int main(){
  16. S = , n = read();
  17. for (int i = ; i <= n; ++i) a[i] = read(), v[a[i]] = ;
  18. for (int i = , j = ; i <= n; ++i){
  19. if (vis[a[i]]) continue;
  20. if (!v[S + - a[i]]) ans[++m] = S + - a[i]; else{
  21. while (v[j] || v[S + - j]) ++j;
  22. ans[++m] = j, ans[++m] = S + - j;
  23. vis[S + - a[i]] = ;
  24. ++j;
  25. }
  26. }
  27. printf("%d\n", m);
  28. for (int i = ; i <= m; ++i) printf("%d ", ans[i]);
  29. return ;
  30. }

对称性——cf405d的更多相关文章

  1. 重载equals方法时要遵守的通用约定--自反性,对称性,传递性,一致性,非空性

    本文涉及到的概念 1.为什么重载equals方法时,要遵守通用约定 2.重载equals方法时,要遵守哪些通用约定   为什么重载equals方法时,要遵守通用约定 Object类的非final方法都 ...

  2. [物理学与PDEs]第5章习题4 广义 Hookean 定律的张量的对称性

    设材料是超弹性的, 并设参考构形为自然状态, 证明由线性化得到的张量 ${\bf A}=(a_{ijkl})=\sex{2\cfrac{\p \bar p_{ij}}{c_{kl}}}$ 具有以下的对 ...

  3. [物理学与PDEs]第5章习题3 第二 Piola 应力张量的对称性

    试证明: 在物质描述下, 动量矩守恒定律等价于第二 Piola 应力张量的对称性. 证明: 由 $$\beex \bea \int_{G_t}\rho\sex{{\bf y}\times\cfrac{ ...

  4. rosetta对称性文件(rosetta symmetry file)的产生及应用

    针对对称性PDB 3UKM,使用make_symmdef_file.pl脚本,可以执行产生对称单元及对称文件: $> $ROSETTA3/src/apps/public/symmetry/mak ...

  5. AtCoder3857:Median Sum (Bitset优化背包&&对称性求中位数)

    Median Sum You are given N integers A1, A2, ..., AN. Consider the sums of all non-empty subsequences ...

  6. 由对称性解2-SAT问题

    由对称性解2-SAT问题 (by 伍昱,03年IOI国家集训队论文ppt) 2-SAT: 2-SAT就是2判定性问题,是一种特殊的逻辑判定问题. 2-SAT问题有何特殊性?该如何求解? 我们从一道例题 ...

  7. DES对称性加密

    using System; using System.Security.Principal; using System.Security.Permissions; using System.Secur ...

  8. C# 对密码等数据进行对称性加密解密

    类: /// <summary> /// DESEncrypt加密解密算法. /// </summary> public class DESEncrypt { private ...

  9. 旺财速啃H5框架之Bootstrap(四)

    上一篇<<旺财速啃H5框架之Bootstrap(三)>>已经把导航做了,接下来搭建内容框架.... 对于不规整的网页,要做成自适应就有点玩大了.... 例如下面这种版式的页面. ...

随机推荐

  1. openwrt 编译支持sqlite3

    编译版本加载lib库 ------------------------------Libraries----------------------------------- Filesystem  -- ...

  2. uORBMain.cpp学习

    uorb_main int uorb_main(int argc, char *argv[]) { if (argc < 2) { usage();                        ...

  3. appium-Android的驱动程序

    Appium Android Driver是Android设备的测试自动化工具.Appium Android驱动程序自动化原生的,混合的和移动的Web应用程序,在模拟器,仿真器和真实设备上进行测试.A ...

  4. GO 学习资源收集

     golang图书,在线阅读Go轻松学https://www.golang123.com/book/16 Go示例学https://www.golang123.com/book/17 Go Web 编 ...

  5. 【git】git的内部原理

    参考文章:https://zhuanlan.zhihu.com/p/96631135 参考文章:https://marklodato.github.io/visual-git-guide/index- ...

  6. Micro SQL Server2016

    Microsoft  SQL Server 2016 序列号(中英文通用) SQL Server 2016 企业版: MDCJV-3YX8N-WG89M-KV443-G8249SQL Server 2 ...

  7. LightOJ 1030 Discovering Gold (概率/期望DP)

    题目链接:LightOJ - 1030 Description You are in a cave, a long cave! The cave can be represented by a \(1 ...

  8. Django框架(二十五)—— Django rest_framework-路由控制与响应器

    路由控制与响应器 一.路由控制 # 1.基本路由: url(r'^publish/$', views.PublishView.as_view()), # 2.半自动路径:views.PublishVi ...

  9. centos 7 安装mysql5.7

    1.进入到要存放安装包的位置 cd /home/lnmp 2.查看系统中是否已安装 MySQL 服务,以下提供两种方式: rpm -qa | grep mysql yum list installed ...

  10. oracle知识博客链接

    http://blog.csdn.net/YiQiJinBu/article/category/1100395/1