训练总结

状压dp这个假期快做,不能懈怠。看了一下午才看懂那道题,才明白了状压的二进制思想,学到了几个常用位运算。

还有就是查缺补漏,把图论、搜索、贪心的例题看透,小零散时间就看看例题解法,弄清楚思想,大块时间写程序。

把程序例题打印下来,方便放在夹在文件夹里,有空闲的时候就翻翻。不能再浪费时间了 ,下年这个时候时间就很紧张了,水平就很难提高了,所以要有计划的学东西。时间过得太快。

国庆节主要补一些并查集、搜索、最短路的例题,状压dp要认真做.

1.判断一个数字x二进制下第i位是不是等于1。

if(((1<<(i-1))&x)>0) 

 

2.将一个数字x二进制下第i位更改成1。

x=x|(1<<(i-1))

3.把一个数字二进制下最靠右的第一个1去掉。

x=x&(x-1) 

4.判断某状态是否有相邻的两者相同。

if(x&x<<1)

5.判断第i为是否为1(这个位是从右数起,从0开始。)

if(x&(1<<i) 
if((x>>i)&1)

6.设置第i位为1。

x|=1<<i;

7.设置第i位为0 。

x&=~(1<<i)

8.切换第i位。

x^=1<<i; 

--------------------- 本文来自 Jack-Oran 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_34531807/article/details/79313151?utm_source=copy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值