同步: 状态压缩嘛,就是把连续的一坨可以用01表示的状态,搞进个整数里,然后用位运算来进行检查、转移等操作。 例题 "[SCOI2005]互不侵犯" 每行国王分布的情况可以用01表示,这样就可以把每一行的状态用一个整数表示。 先预处理出一行里面没有会打架的的所有情况,和该情况对应的国王数量 为第 行 ...
分类:
其他好文 时间:
2019-10-24 09:42:57
阅读次数:
63
异或可以实现不考虑进位的加法,相同为0,不同为1 0101 ^ 0001 = 0100 + 两个数相加不考虑进位从二进制角度上说就是相同为0,不同为1,因为二进制只有两个数1和0 1+1=0 0+1=1 与运算可以实现进位 同为1才为1 0101 & 0001 = 0001 + 说明最低位有进位 c ...
分类:
编程语言 时间:
2019-10-23 18:14:45
阅读次数:
119
1.^(亦或运算) ,针对二进制,相同的为0,不同的为1 public static void main(String[] args) { System.out.println("2^3运算的结果是 :"+(2^3)); //打印的结果是: 2^3运算的结果是 :1 } 2 >0010 3 >001 ...
分类:
编程语言 时间:
2019-10-23 13:11:48
阅读次数:
83
前言: 我们先看如下这个js的代数计算结果,什么? 明显不是我们想要的结果3.52!! 问题原因之所在: JavaScript 语言的底层根本没有整数,所有数字都是小数(64位浮点数)。容易造成混淆的是,某些运算只有整数才能完成,此时 JavaScript 会自动把64位浮点数,转成32位整数,然后 ...
分类:
编程语言 时间:
2019-10-22 15:18:03
阅读次数:
99
算术运算符+比较运算符+逻辑运算符/布尔运算符+位运算符 1.算术运算符:加+ 减- 乘* 除取商/ 除取余%、mod(A,B) 2.比较运算符: =、>=、<=、>、<、is null、is not null、 <>或!=(不等于)、<=>(null安全的等于)、between(存在于指定范围)、 ...
分类:
数据库 时间:
2019-10-21 16:05:44
阅读次数:
143
问题 A: 位运算 时间限制: 1 Sec 内存限制: 512 MB 题面 题面谢绝公开。 题解 简单分类讨论。还是得把赛时那愚蠢的分类讨论搬上来。 三者关系与/或/异或 1 / 1 / 1 :矛盾。与运算为1,二者均为1,异或运算为1,要求二者该位不能相同。 1 / 1 / 0 :不矛盾。同为1即 ...
分类:
其他好文 时间:
2019-10-21 09:56:12
阅读次数:
83
1.2 关系运算符 go == != = | 二进制向右移位运算符。左边的操作数的值由右操作数指定的位数向右移动 | A 2 = 15 也就是 0000 1111 | 1.5 赋值运算符 | 运算符 | 描述 | 示例 | | | | | | = | 简单的赋值操作符,分配值从右边的操作数左侧的操作 ...
分类:
其他好文 时间:
2019-10-18 22:13:06
阅读次数:
99
重复的DNA序列。给的input是一个DNA序列,请输出所有出现多次的DNA子序列。这题有位运算的做法但是个人觉得用hashset的做法更方便。 思路是用两个hashset,一个存子序列是否出现过(seen),另一个存最后的输出(res)。当某个子序列在seen中已经有了,就存入res;最后输出re ...
分类:
其他好文 时间:
2019-10-17 09:15:23
阅读次数:
96
脚本编程 execfile('c:/*py') #括号里填要指定的py文件路径就可以执行了。 脚本中有中文,需要在开头加上 # coding=utf-8 表达式与操作符 专业术语,例如2+2,‘2’称为值,'+'为运算符,‘2+2’这个表达式是求值。 运算符,包括 赋值运算符: =简单的赋值运算 + ...
分类:
编程语言 时间:
2019-10-16 13:19:08
阅读次数:
200
题意是给一个二进制的数字,求出其中1的个数。这题需要用到一个位运算的特性,建议背下来,就是n & (n-1)会让n最右边的1变为0。所以只要记一个count,然后看看这个&的操作做几次,数字整个变为0,就说明过程中有几个1被变为0了。代码如下, 时间O(1) - 因为是位运算,再怎么样都只有32位 ...
分类:
其他好文 时间:
2019-10-16 00:26:52
阅读次数:
77