标签: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