#qm12. 算法社测验的终极考验
算法社测验的终极考验
题目背景:
这里是算法社。我们曾拥有一段熠熠生辉的岁月,但如今,这所学校的算法时代正在悄然落幕,社团也随之陷入了低谷。
但只要还有人热爱思考,算法的魅力就不会消亡,算法社就不该就此沉沦。为了打破现在的僵局,让社团重新焕发生机,我决定在新生期末考核中,放下这道终极考验作为压轴题。我想看看,在这片逐渐干涸的土壤里,是否还能绽放出惊艳的思维之花。
题目描述:
请你构造一个长度为 的排列 (由 到 这 个整数各恰好出现一次),使得相邻两项异或值之和最大。换句话说,最大化:
可以证明,最优解一定存在。如果存在多个最优解,你可以输出任意一个。
【名词解释】
- 长度为 的排列:由 这 个整数按任意顺序组成的数组,每个整数恰好出现一次。
- :按位异或(Bitwise XOR),对两个整数的二进制表示逐位进行异或运算。
输入格式:
输入一个正整数 。
输出格式:
在一行中输出 个整数,表示你构造的排列。整数之间用空格分隔。
输入样例:
1
输出样例:
0 1
说明/提示:
在这个样例中,输出 和 都是合法的答案。