题目链接:hdu 5014 Number Sequence
题目大意:给定n,表示有0~n这n+1个数组成的序列a,要求构造一个序列b,同样是由0~n组成,要求∑ai⊕bi尽量大。
解题思路:贪心构造,对于n来说,找到n对应二进制的取反对应的数x,那么从x~n之间的数即可两两对应,然后x-1即是一个子问题。
#include
#include
#include
using n...
分类:
其他好文 时间:
2014-09-15 21:25:59
阅读次数:
207
Problem Description
There is a special number sequence which has n+1 integers. For each number in sequence, we have two rules:
● ai ∈ [0,n]
● ai ≠ aj( i ≠ j )
For sequence a and sequence b,...
分类:
其他好文 时间:
2014-09-15 21:22:10
阅读次数:
240
思路:既然是求两个数的异或运算之和,且由于数字不重复,那么肯定两个数异或的结果数字越大越好,即异或后从ai二进制的最高位后全是1。具体思路看代码:AC代码: 1 #include 2 #include 3 #include 4 #include 5 #include 6 using nam...
分类:
其他好文 时间:
2014-09-15 12:54:28
阅读次数:
198
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5014题目大意:给定数组 a[]={0,1,2......n} 求一个数组b[] 元素也为0.....n 但顺序与a[]不同使得sum(ai ^ bi)最大注意到2^k =100000(k个0) 2^k-...
分类:
其他好文 时间:
2014-09-15 12:37:58
阅读次数:
179
Problem Description
There is a special number sequence which has n+1 integers. For each number in sequence, we have two rules:
● ai ∈ [0,n]
● ai ≠ aj( i ≠ j )
For sequence a and sequence b,...
分类:
其他好文 时间:
2014-09-15 01:06:27
阅读次数:
175
Problem Description
There is a special number sequence which has n+1 integers. For each number in sequence, we have two rules:
● ai ∈ [0,n]
● ai ≠ aj( i ≠ j )
For sequence a and sequence b, t...
分类:
其他好文 时间:
2014-09-14 23:41:28
阅读次数:
262
这是一道变换了的斐波那契数列,但是你如果写成递归函数的话内存是不够的,因为n的范围很大,如果你把前20项打出来的话,你会发现规律:就是从2开始是yes,每隔4个就是yes,其余是no。按这个规律编程绝对没问题,但是我还是愿意在这里证明一下其正确性。
我们看前七项,并设为ai:
7 11 18 29 47 76 123
a1 a2 a3 a4 a5 a6 a7
易知a3和a7是能被3整除的,其实如果只知道a3能被3整除,就能推出a7也能被3整除:
a7 = ...
分类:
其他好文 时间:
2014-09-13 10:43:25
阅读次数:
227
题目链接
题意:有n堆石子,每个堆有Ai个石头,求先手是否能取得最后一个石头。
思路:这题主要在于前置1的多少能改变谁能成为先手,当前置1为偶数时,先手还是原来的先手,当为奇数时,先手就变成后手,后手变成先手。记得考虑当所有石堆都只有一个石头的情况。
代码:
#include
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2014-09-12 22:10:14
阅读次数:
298
题目大意:
有一个序列,题目用n个整数组合 [ai,bi,ci]来描述它,[ai,bi,ci]表示在该序列中处于[ai,bi]这个区间的整数至少有ci个。如果存在这样的序列,请求出满足题目要求的最短的序列长度是多少。如果不存在则输出 -1。
输入:第一行包括一个整数n,表示区间个数,以下n行每行描述这些区间,第i+1行三个整数ai,bi,ci,由空格隔开,其中0
输出:一行,输出满足要求...
分类:
其他好文 时间:
2014-09-12 17:15:32
阅读次数:
194
题目: 给出一列数,a1, a2,....到 an,求它的逆序对数。逆序对就是 下标 i 比 j小,但是值 ai 却比 a j大。n 可以高大 10万。
思路:
(1)穷举,肯定不现实的,因为n 可以高达10万,肯定超时;
(2)考录分治法,受到归并排序的启发,能不能不断划分数组到最小,然后合并时统计 逆序对数。划分和递归都和归并排序没什么区别,问题在合并时如何统计。
合并左右两个数...
分类:
其他好文 时间:
2014-09-11 22:29:12
阅读次数:
220