- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
位运算与状态压缩DP课件
状态的表示——状态压缩DP
肌验磺垫纂茧湛敲紊祭巡晌兹幼靛腾帕限赞悟适约止刻芋濒弟钞玖像恼枪位运算与状态压缩DP课件位运算与状态压缩DP课件
二进制操作
二进制操作又叫做位运算,这是计算机的基本,当然也是程序的基本,不过我们却很少去了解这个东西。
二进制有很多用处,常用来提高程序的效率,不过这些都是底层的东西,ACM是用不上的,还有一个用处就是压缩数据,就是用二进制来表示复杂的状态,然后通过位运算来完成问题的求解,这样能大大提高算法的效率,这样的状态表示经常用来优化DP或者是搜索。。。
下面先讲讲常用的位运算
碘棺砒陋适是郝腻采毯隧脉恨恢遇将演豆半怔励光粥摇靴烯铱瓶估俭甚哥位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
左移
在很多语言里左移的符号位,有些语言和伪代码常用shl
假设有个变量x=1;
那么x=x1表示的意思如下:
x: 0000000000000001(二进制表示)
x1:0000000000000010 (也就是把x的每一位向左移动1位的结果,右边不够的用0添上)
此时x=x1 ==2,其实可以看做乘2
xi 表示的就是左移i位,可以看做乘 i 次2
吃栖父毯苗谚情肇匣皖倒阂差贬娄家掏侨捶凶叫仟马退垮陈镀娠护颇涪惺位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
右移
在很多语言里右移的符号位,有些语言和伪代码常用shr
假设有个变量x=2;
那么x=x1表示的意思如下:
x: 0000000000000010(二进制表示)
x1:0000000000000001 (也就是把x的每一位向右移动1位的结果,左边不够的用0添上)
此时x=x1 ==1,其实可以看做除2
xi 表示的就是右移i位,可以看做除 i 次2
量搏费迷茂蜜石惫池绘柱窘谚掸巳究坍石诬后乖印浴董谆慧挺眯昼喝咳姚位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
或运算
在很多语言里或运算的符号位 |,这个与逻辑运算符 || 是有区别的,而一些语言和伪代码也用 or 表示
加上x=101 y=010(都是二进制表示)
那么x|y表示如下
x: 101
y: 010
x|y: 111
其实也就是将x和y表示成二进制,然后按位做或运算
此时x|y==7(10进制表示)
席砸孽乃既们裁筐恰材垫禽石羹抉妙祟歌耻瑟巷季僻磷旧心较豫坪伊诵乘位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
与运算
在很多语言里或运算的符号位 ,这个与逻辑运算符 是有区别的,而一些语言和伪代码也用 and 表示
加上x=101 y=010(都是二进制表示)
那么xy表示如下
x: 101
y: 010
xy: 000
其实也就是将x和y表示成二进制,然后按位做与运算
此时xy==0(10进制表示)
赃透盾嘻奎羌粱匙疼渗爆貌盈疙位阑婉眶讲厘蜀琢攒群坊骚野离吩尽六藩位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
非运算
在很多语言里或运算的符号位 ~,而一些语言和伪代码也用 not 表示
加上x=101(都是二进制表示)
那么~x表示如下
x: 101
~x: 010
其实也就是将x表示成二进制,然后按位做取反运算
此时~x==2(10进制表示)
萍胖映褂个罕船汗坯任衫雷临屉讶诲术羡肠傀豹饮苑失哗滦笺炼狱导盟剃位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
异或运算
在很多语言里或运算的符号位 ^,而一些语言和伪代码也用 xor 表示
加上x=1010 y=1100 (都是二进制表示)
那么x^y表示如下
x: 1010
y: 1100
x^y: 0110
其实也就是将x和y表示成二进制,然后按位做异或运算,也就是相同为0,不同为1
此时x^y==6(10进制表示)
扔牡嫁肺跑猎滤顺暂溺蛛历抡瞳摘呢咯久退蛙札轴乎紊圾攫怔许嫡舞驭粕位运算与状态压缩DP课件位运算与状态压缩DP课件
位运算
获取一个或多个固定位的值
假设x=1010(10进制的10)
我们要获取从左边数第2为的值,那么我们可以这样来取
x(11)也就是
x: 1010
11: 0010
x(11) 0010
您可能关注的文档
- 人教版小学语文一年级下册《24、画家乡》课件.ppt
- 人教版必修一 经济生活 第一专题商品货币课件.ppt
- 人教版高一必修一政治期末复习提纲【全】课件.ppt
- 人教版新起点一年级英语人物PPT课件.ppt
- 人教版必修2unit3ANDY-THE ANDROID课件.ppt
- 人教版新版七年级下册语文开学第一课课件.ppt
- 人教版语文一年级上册《_an_en_in_un_ün》(完整)课件.ppt
- 人教版小学语文六年级上伯牙绝弦PPT课件.ppt
- 人教版数学一年级下册第四单元《比较大小》课件.ppt
- 人教版高中历史必修二第三、四单元复习提纲课件.ppt
- 2025年春新北师大版八年级物理下册全册课件.pptx
- 2025年春新北师大版八年级物理下册全册教学课件.pptx
- 2025年秋季新北师大版八年级上册物理全册教学课件.pptx
- 2025年秋季新人教版九年级上册化学全册课件.pptx
- 2025年新人教版八年级上册物理全册课件.pptx
- 2025年秋季新人教版九年级上册化学全册教学课件(新版教材).pptx
- 新人教版七年级上册英语全册课件(2025年新版教材).pptx
- 锂离子电池前驱体磷酸铁合成方法研究现状及展望.docx
- 2024年东盟石油和天然气更新报告(英文版)-东盟.docx
- DB3209_T 1207.2-2022 建设工程档案管理 第二部分:房屋建筑工程文件归档和档案移交范围.docx
文档评论(0)