![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
与运算
文章平均质量分 70
叶荨.
这个作者很懒,什么都没留下…
展开
-
POJ3279题解报告
传送门:P6201 [USACO07OPEN]Fliptile S - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 题目大意:给一个n*m的01矩阵,每次翻动某个矩阵的时候也会翻动有相邻边的值,即上下左右和其本身的值都会改变,求在翻动次数最少并且在字母序最小的情况下,翻动次数的矩阵,第i行第j列的数表示翻动该矩阵的次数,如果无解,输出IMPOSSIBLE. 思路:枚举出翻动第一行的所有情况(2的m次方)然后在这种情况下认为每个的值只受下一行的影响(其实还是受旁边的值的影响的,但是因为a原创 2021-07-06 00:06:22 · 262 阅读 · 2 评论 -
对于<<和>>在位运算中的一些理解,以及与求奇偶的原理,还有c++加快存储输出的一些小技巧
1.对于左移位运算: 例如一个八位二进制数: 00000111(7)<<2就会得到00011100(28),即把整个二进制数往左边移动两位,低位空缺补0,也可以看作两次乘以二,7*2*2=28; 对于左移还可以使用左移运算符代替pow(2,n)来求得2的n次方的值,即1<<n; 例如:n=3; 可以看作三次乘以2. 则有1*2*2*2=8; 2.对于右移位运算: 例如一个八位二进制数: 00000111(7)>>2 就会得到00000001(1),即.原创 2021-07-05 15:25:06 · 92 阅读 · 0 评论