自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(13)
  • 收藏
  • 关注

转载 异或的性质&应用

异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。简单理解就是不进位加法,如1+1=0,,0+0=0,1+0=1。性质1、交换律2、结合律3、对于任何数x,都有x^x=0,x^0=x4、自反性

2012-10-01 05:02:43 358

转载 6 Awesome Linux cd command Hacks

6 Awesome Linux cd command HacksThis article is part of the ongoing Productivity Tips for Geeks series. cd is one of the most frequently used command during a Unix session. In this article

2012-09-20 05:43:06 688

转载 并查集 [维基百科]

并查集是一种树型的数据结构,用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。常常在使用中以森林来表示。目录  [隐藏] 1 主要操作1.1 合并两个不相交集合1.2 判断两个元素是否属于同一集合2 并查集的优化2.1 路径压缩2.2 Rank合并3 源代码4 时间及空间复杂度5 应用

2012-08-01 18:01:37 1153

转载 数据结构之并查集

1、  概述并查集(Disjoint set或者Union-find set)是一种树型的数据结构,常用于处理一些不相交集合(Disjoint Sets)的合并及查询问题。2、  基本操作并查集是一种非常简单的数据结构,它主要涉及两个基本操作,分别为:A. 合并两个不相交集合B. 判断两个元素是否属于同一个集合(1)       合并两个不相交集合(

2012-08-01 17:59:44 341

原创 Checker Challenge

Checker ChallengeExamine the 6x6 checkerboard below and note that the six checkers are arranged on the board so that one and only one is placed in each row and each column, and there is never mo

2012-07-31 21:26:53 589

转载 位运算简介及实用技巧(四):实战篇 [Matrix67]

Problem : 费解的开关题目来源    06年NOIp模拟赛(一) by Matrix67 第四题问题描述    你玩过“拉灯”游戏吗?25盏灯排成一个5x5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。    我们用数字“1”表示一盏

2012-07-31 21:17:58 1604 1

转载 位运算简介及实用技巧(二):进阶篇(1) [Matrix67]

二进制中的1有奇数个还是偶数个    我们可以用下面的代码来计算一个32位整数的二进制中1的个数的奇偶性,当输入数据的二进制表示里有偶数个数字1时程序输出0,有奇数个则输出1。例如,1314520的二进制101000000111011011000中有9个1,则x=1314520时程序输出1。var   i,x,c:longint;begin   readln(x);   c

2012-07-31 21:16:58 1270

转载 位运算简介及实用技巧(一):基础篇[Matrix67]

去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个remake。当然首先我还是从最基础的东西说起。什么是位运算?    程序中的所有数在计算机内存中都是

2012-07-31 21:16:09 847 1

转载 神秘常量复出!用0x077CB531计算末尾0的个数[Matrix67]

大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋。今天,我见到了一段同样诡异的代码。    下面这个位运算小技巧可以迅速给出一个数的二进制表达中末尾有多少个 0 。比如, 123 456 的二进制表达是 1 11100010 01000000 ,因此这个程序给出的结果就是 6 。unsig

2012-07-31 21:15:23 747

转载 n皇后问题位运算版[Matrix67]

n皇后问题是啥我就不说了吧,学编程的肯定都见过。下面的十多行代码是n皇后问题的一个高效位运算程序,看到过的人都夸它牛。初始时,upperlim:=(1 shl n)-1。主程序调用test(0,0,0)后sum的值就是n皇后总的解数。拿这个去交USACO,0.3s,暴爽。procedure test(row,ld,rd:longint);var      pos,p:longi

2012-07-30 15:47:34 1293

转载 N皇后问题公式解

一、当n mod 6 != 2 且 n mod 6 != 3时,有一个解为:   2,4,6,8,...,n,1,3,5,7,...,n-1       (n为偶数)   2,4,6,8,...,n-1,1,3,5,7,...,n       (n为奇数)   (上面序列第i个数为ai,表示在第i行ai列放一个皇后;... 省略的序列

2012-07-30 14:37:06 2135

转载 合并两个有序链表 (C++)

合并两个有序链表递归实现:      ①算法思想:      递归终止条件:若head1为空,返回head2指针(head);若head2为空,返回head1指针(head)     递归过程:       (1)若head1->data>head2->data;  head 指针应该指向head2所指向的节点,而且head->next应该指向hea

2012-07-30 12:00:54 1807

转载 合并两个有序链表

题目:已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序分析:两个链表都应该是增序或者降序方法一使用递归的方法struct Node { Node* next; int value; }; Node* Merge(Node* head1, Node* head2) { Node* res; if

2012-07-30 11:50:42 629

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除