摘要: 题目: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序数对。一个排列中逆序的总数就称为这个排列的逆序数。 如{2,4,3,1}中,2和1,4和3,4和1,3和1是逆序数对,因此整个数组的逆序数对个数为4,现在给定一数组,要求统计出该数组的逆序数对个数。 阅读全文
posted @ 2012-12-22 21:02 kedebug 阅读(775) 评论(0) 推荐(0) 编辑
摘要: 思路: 对于递归的考察。类似于不断的二分枚举,总之考察的还是比较深入的,特别是用一个vector模拟栈的进出都是需要学习的地方。以后还需要仔细理解。 阅读全文
posted @ 2012-12-22 15:06 kedebug 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 思路: 1. 生成一组初始数据:01234567 2. 对这组数据进行排列组合,然后找满足8皇后解法的排列即:任何两个皇后都不能在同一列或对角线上 3. permutation的时候要注意,交换数据要从自身交换起,终止的时候是index == length。 阅读全文
posted @ 2012-12-22 14:16 kedebug 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 思路: 1. x & (-x)所得的结果即是x最后一位1所在的位置。 2. x = a ^ b ^ c, f(x) = x & (-x) 3. f(x^a)^f(x^b)^f(x^c) 结果必有一位是1,因为f(m)^f(n)结果为0或者为2个1 4. f(x^a)^f(x^b)^f(x^c)的第m位为1,则x^a, x^b, x^c必有1个或者3个第m位为1 5. 用反证法可得,x^a, x^b, x^c只有一个第m位为1 阅读全文
posted @ 2012-12-22 13:32 kedebug 阅读(528) 评论(0) 推荐(0) 编辑
摘要: http://zhedahht.blog.163.com/blog/static/2541117420116135376632/ 阅读全文
posted @ 2012-12-22 12:36 kedebug 阅读(264) 评论(0) 推荐(0) 编辑