http://acm.hust.edu.cn/vjudge/contest/122814#problem/H

这道题就是求异或之和

知识点: a^b = c 等价于 b^c =a 和 a^c = b

#include <iostream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <vector>
#include <iterator>
#include <set>
#include <map>
#include <sstream>
using namespace std; #define mem(a,b) memset(a,b,sizeof(a))
#define pf printf
#define sf scanf
#define spf sprintf
#define pb push_back
#define debug printf("!\n")
#define MAXN 100000 + 10
#define MAX(a,b) a>b?a:b
#define blank pf("\n")
#define LL long long
#define ALL(x) x.begin(),x.end()
#define INS(x) inserter(x,x.begin())
#define pqueue priority_queue
#define INF 0x3f3f3f3f int n,m; int a[MAXN],b[MAXN]; int main()
{
int i,j;
while(~sf("%d",&n))
{
mem(a,);
mem(b,-);
long long sum = ;
for(i=;i<=n;i++) sf("%d",&a[i]);
for(i=n;i>=;i--)
{
int s = i;
if(b[i] == -)
{
int cnt = ;
while(s)
{
s>>=;
cnt++;
}
int tmp = (<<cnt) -;
b[i] = i^tmp;
b[i^tmp] = i;
}
}
//for(i=0;i<=n;i++) pf("%d ",b[i]);
for(i=;i<=n;i++) sum+= i^b[i];
pf("%I64d\n",sum); for(i=;i<n;i++)
{
pf("%d ",b[a[i]]);
}
pf("%d\n",b[a[n]]); }
return ;
}

最新文章

  1. Wizard Framework:一个自己开发的基于Windows Forms的向导开发框架
  2. JQUERY1.9学习笔记 之基本过滤器(十一) 奇数选择器
  3. 安卓,通过本地应用分享到微信、facebook等
  4. ECOS-Mongodb安装
  5. 【Java学习笔记之三十一】详解Java8 lambda表达式
  6. 使用Docker快速搭建Nginx+PHP-FPM环境
  7. Python面向对象——多重继承大揭秘
  8. StandardContext
  9. Javascript高级编程学习笔记(86)—— Canvas(3)绘制矩形
  10. JMeter—常见问题(十四)
  11. 黑苹果是否会成为mac电脑的竞争对手?
  12. Spring4之IOC
  13. Bytom 移动端钱包SDK FAQ
  14. mysql查看某库表大小
  15. jpa 一对多and 多对一
  16. 数据库链接 mybatis spring data jpa 两种方式
  17. 数据库:XML,解析Dom4J
  18. AVAudioFoundation(4):音视频录制
  19. 查看Android内存,cpu
  20. java多线程-慎重使用volatile关键字

热门文章

  1. 洛谷P3236 [HNOI2014]画框(最小乘积KM)
  2. 堆排序工具类(适用于top k问题,java泛型实现)
  3. 老男孩Day17作业:后台管理平台编辑表格
  4. 2.1、Softmax Regression模型
  5. ajax beforeSend中无效果
  6. Ubuntu16.04更换下载源
  7. github提交项目
  8. [BZOJ 1489][HNOI2009]双递增序
  9. codeforces 1101F Trucks and Cities 区间dp+单调优化 好题
  10. 一种简单快速的模板解析方法,活用with javascript版