当然如果这个问题是只有一个不同的数,其他数字成对相同,那么就是把所有数字异或就得出这个数了
这次是有两个只出现一次的数字,其他数字都成对相同
1)先把所有数都异或得到数t
2)算出t的二进制第一个1的位置flag
3)将所有数根据二进制flag位置是否为1分成两组b1[],b2[] (此时每组数字的个数一定是奇数)
4)将b1组异或得到ans1,将b2组异或得到ans2...
分类:
其他好文 时间:
2014-08-03 01:47:24
阅读次数:
344
题目链接:Codeforces 453 Little Pony and Summer Sun Celebration
题目大意:n个节点,m条边,然后m行给定边,最后一行表示每个节点需要进过的次数为奇数次还是偶数次。
解题思路:构造,任意从一个奇数点开始(统一森林的处理),然后每次向下遍历没有经过的节点,并且回溯,每次回溯都要判断一下刚才走过的点满不满足条件,不满足的话就再走一次。最后...
分类:
其他好文 时间:
2014-08-02 23:28:14
阅读次数:
218
题目链接:点击打开链接
题意:
给定一个无向图
任选一个起点,使得访问每个点的次数奇偶与最后一行的输入一致
思路:
选一个奇数点作为起点
dfs树一下,若子节点不满足则先走到子节点再回来
如此就能保证所有子节点合法
这样dfs结束后最多只有根节点不满足,随便找一个与根相连的点调整一下。
#include
#include
#include
#include
#includ...
分类:
其他好文 时间:
2014-08-02 21:02:49
阅读次数:
433
题意:给定一个字符串,求有多少个奇数子串和多少偶数子串为 “回文串” 这边回文串很特殊之含有 ab 两种字母 而且 相邻的字母相同则消去一个 一直到不存在相邻的相同。思路: 在这种串中 ,消到最后 一定是 abababababa。。。 或者 bababababab。。。 那么 只要头尾一样 那么这个...
分类:
其他好文 时间:
2014-08-02 20:55:04
阅读次数:
169
题意:如果可以的话,使用最少的交换次数,使得字符串变成回文字符串。
思路:首先我们可以先判断这个字符串是否有成为回文的可能性。当一个字符串中出现两个或两个以上的奇数个数的字符,那么这个字符串一定不能成为回文字符串。
之后就要讨论怎么使用最少的交换次数使得变成回文字符串。我们可以采取由外到内的方法,即先将头尾两端的字符交换成相同的,然后left++,right--,慢慢向内靠拢。
为了...
分类:
其他好文 时间:
2014-08-01 23:17:32
阅读次数:
219
简单的BFS。无需任何优化。利用一个结构体数组储存状态,三个量a,b,move分别表示A箱,B箱的球数以及移动次数。注意对特殊情况的处理以及对不可能情况的判定:(1)两数之差为奇数,由题意,假设aMAXMOVE){ return -1; break; } //printf("Fr...
分类:
其他好文 时间:
2014-08-01 22:39:32
阅读次数:
274
/*
中文题意:
中文翻译:
题目大意:
解题思路:当n不为1的时候,用while循环,直到出现n为止,while循环很适合循环次数不确定时使用。
难点详解:对位运算的理解
关键点:位运算
解题人:lingnichong
解题时间:2014/08/01 15:41
解题感受:c语言学多了后,在参加竞赛时,取余的话都用n&1=0为偶数,n&1=1为奇数。
*/
...
分类:
其他好文 时间:
2014-08-01 20:01:42
阅读次数:
170
1 /*利用命令行参数输入一个整数,并判断该数字是否为奇数,如果是奇数,则用其作行数打印空心菱形 2 –PS:将字符串转换为数字的方法 3 ?int num=Integer.parseInt(String number);*/ 4 5 package com.gen; 6 public clas.....
分类:
其他好文 时间:
2014-08-01 19:22:22
阅读次数:
293
题目大意:求移动数列中的第一个元素到最后一位时的最少逆序数。(进行n次移动,求移动过程中最少的逆序数)
难点:
一:什么是逆序数? 定义: 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4...
分类:
其他好文 时间:
2014-08-01 16:07:21
阅读次数:
153
输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分。
代码:
/*
调整数组顺序使得奇数位于偶数前面
by Rowandjj
2014/8/1
*/
#include
#include
using namespace std;
//高效解法,但会调整后的数组元素相对顺序会发生改变
void func(int *...
分类:
其他好文 时间:
2014-08-01 13:37:51
阅读次数:
230