hdu 5014 Number Sequence
为了a异或b的和最大,只需另b在不大于n的情况下按位取反即可。
这里有两个输出小技巧可以参考:
1.在用printf输出__int64时,在windows下使用格式"%I64d",在linux下使用"%lld",在hdu中应使用"%I64d",如果拿不准就是用cout好了。
2.在遇到每个数之间有空格,最后一个数后面是换行时可以使用这个小技巧:
for (int i = ; i < n; i++ ) printf("%d%c", a[i], (i == n-? '\n' : ' '));
完整代码如下:
#define MAXN 100005
#include <stdlib.h>
#include <iostream>
#include <stdio.h>
using namespace std;
int arr[MAXN];
int ans[MAXN];
bool vis[MAXN];
int n;
void solve()
{
for( int i = n- ; i >= ; i-- )
{
if( vis[i] == )
{
int bit = ;
while(bit <= i)
{
bit <<= ;
}
ans[bit--i] = i;
ans[i] = bit - - i;
vis[i] = vis[bit--i] = ;
}
}
printf("%I64d\n", 1ll * n * (n-));
//cout<<1ll * n *(n-1)<<endl;
for( int i = ; i < n ; i++ )
{
printf("%d%c",ans[arr[i]], (i == n-? '\n' : ' '));
}
fill(vis, vis+MAXN, );
}
int main(int argc, char *argv[])
{
while(scanf("%d", &n) != EOF)
{
n++;
for( int i = ; i < n ; i++ )
{
scanf("%d", &arr[i]);
}
solve();
}
}
hdu 5014 Number Sequence的更多相关文章
- ACM学习历程——HDU 5014 Number Sequence (贪心)(2014西安网赛)
Description There is a special number sequence which has n+1 integers. For each number in sequence, ...
- HDU 5014 Number Sequence(位运算)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5014 解题报告:西安网赛的题,当时想到一半,只想到从大的开始匹配,做异或运算得到对应的b[i],但是少 ...
- HDU 1711 Number Sequence(数列)
HDU 1711 Number Sequence(数列) Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- HDU 1005 Number Sequence(数列)
HDU 1005 Number Sequence(数列) Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Jav ...
- HDU 1005 Number Sequence(数论)
HDU 1005 Number Sequence(数论) Problem Description: A number sequence is defined as follows:f(1) = 1, ...
- HDU 1711 Number Sequence (字符串匹配,KMP算法)
HDU 1711 Number Sequence (字符串匹配,KMP算法) Description Given two sequences of numbers : a1, a2, ...... , ...
- HDU - 1005 Number Sequence 矩阵快速幂
HDU - 1005 Number Sequence Problem Description A number sequence is defined as follows:f(1) = 1, f(2 ...
- HDU 1005 Number Sequence【多解,暴力打表,鸽巢原理】
Number Sequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- HDU 1711 Number Sequence(KMP裸题,板子题,有坑点)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
随机推荐
- URL和DNS解析
以下内容摘自<Go Web编程>,介绍的通俗易懂. 我们浏览网页都是通过URL访问的,那么URL到底是怎么样的呢? URL(Uniform Resource Locator)是“统一资源定 ...
- 2015北京网络赛 J Clarke and puzzle 求五维偏序 分块+bitset
Clarke and puzzle Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://hihocoder.com/contest/acmicpc20 ...
- android 删除文件以及递归删除文件夹
private void deleteDirectory(File file) { if (file.isFile()) { file.delete(); return; } if(file.isDi ...
- 【转】IT职场人生系列之四:怎样写简历
本文是IT职场人生系列的第四篇. 因为早年跳槽无数,所以积累了不少"技巧",逐渐变成写简历的"专家",最长的时候简历到了12页,所以现在练就一手写长篇博客的功夫 ...
- js数组定义和获取其长度
1.只有值组成的数组,必须先定义数组对象. 定义 var arrs=new array()或 var arrs=[]; 赋值: arrs[]="he";arrs[]="c ...
- OpenCMS integration with Spring MVC--reference
ref from:http://blogs.indrajitpingale.com/?p=8 http://blog.shinetech.com/2013/04/09/integrating-spri ...
- Android开发了解——Dalvik
Dalvik是Google公司自己设计用于Android平台的Java虚拟机.Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一.它可以支持已转换为 .dex ...
- linux下安装软件后的环境变量设置
/home/username/.bashrc文件中加入如下内容 export LM_LICENSE_FILE=/home/program_files/modeltech_10.2c/modeltech ...
- selendroid inspector xpth元素定位记录
android自动化测试元素定位,目前发现appium官方的uiautomatorviewer一般的元素定位还行,但好多都找不到. 这个时候,可以考虑selendroid的inspector 官网:h ...
- .NET技能分析
知乎话题:如何面试.NET/ASP.NET工程师? No.1初级:1.对 C#(推荐) 或 VB 语言直至与 .NET 4 (目前为止)相匹配的版本,绝大多数特性熟悉并使用过2.通晓 HTTP 协议的 ...