凛冬散尽,星河长明。

位运算的操作

程序中的所有数在计算机内存中都是以二进制的形式储存的. 位运算就是直接对整数在内存中的二进制位进行操作.

C++中常用的位运算操作符有6个:

含义运算符举例英文表示
按位与$a$ & $b$$and$
按位或$a\mid b$$or$
按位异或$a$ ^ $b$$xor$
按位取反~ $a$$not$
左移$a$ << $b$$shl$
右移(带符号)$a$ >> $b$$shr$
位运算的操作

题解P1321[单词覆盖还原]

题目来源P1321https://www.luogu.com.cn/problemnew/show/P1321

一共只会出现以下字符:

b o y g i r l .

boygirl两串中可能出现的重叠形式全部替换成某个字符,例如我用a..替换boy的组合,用z...替换girl的组合

得出boygirl可能的拆分如下:

1
2
boy bo oy b o y
girl gir irl gi ir rl g i r l

输出时单个字母b o y g i r l可在和a z一同判断

题解P1321[单词覆盖还原]

题解P1003[铺地毯]

题目来源P1003https://www.luogu.com.cn/problemnew/show/P1003

判断要求的点在哪些地毯范围内即可

题解P1003[铺地毯]

题解P1125[笨小猴]

题目来源P1125https://www.luogu.com.cn/problemnew/show/P1125

头文件$algorithm$中有函数count()

查询MSDN得:它的效果是取得一个范围中指定元素的多少,使用方法和sort()类似

枚举每一个字符,判一下质数,再求count值即可

题解P1125[笨小猴]