码迷,mamicode.com
首页 > 其他好文 > 详细

从[互不侵犯]一题析代码的锅

时间:2021-02-15 11:39:35      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:line   inline   运算符   状压   code   amp   abap   lan   int   

从[互不侵犯]一题析代码的锅

这个题,真的是,作为状压DP的敲门题,我从2020年1月份第一次见它,

到今年2月份重构过3、4遍。然后终于过了。

憨批行为之一

我有一次在寻找合法状态的时候,逐位枚举?甚至还枚举\(1\)的个数啊、搜索啊......

正确的做法是

for(int s = (1 << n) - 1; s >= 0; --s);

憨批行为之二

注意运算符的优先级!!!

\(==\)\(!=\)的优先级是要高于\(&\)的,所以在写这几句的时候要加括号:

if((s & (s << 1)) != 0)	return 0;
if((s0 & s) != 0)	return 0;
if(((s << 1) & s0) != 0)	return 0;

优先级:

==,!= > & > ^ > | > && > || 

括号永远是最强的,然后就是它们:

! +(正) -(负) ~ ++ --

非憨批行为

遇事不决,手动模拟!!

差错不决,赶紧对拍!!

从[互不侵犯]一题析代码的锅

标签:line   inline   运算符   状压   code   amp   abap   lan   int   

原文地址:https://www.cnblogs.com/ZhengkunJia/p/14395490.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!