初始化
memset(a, str, sizeof a)
将a中元素以str的第一个字节来填充a中的元素四个字节,如果str为100则会给a附上很大的数
一般赋0 或 -1
无穷
赋值为 0x3f 赋值为正无穷,每位都是3f,则结果是 0x3f3f3f3f,是一个 的结果
为什么用0x3f
满足以下要求
-值很大,可以当无穷来使用
-值又不会太大,相加仍然是正无穷而不会溢出
这里运用了一些技巧
要挑选组合数,可以利用位运算来简化
将一组数模拟为一串01串,如果是1,就说明该数被挑选,这样恰可以表示出所有可能的情况
再利用位运算
Link to originalif(i >> j & 1)
可以判断某一位上是否是1
一些用法
#define x first
#define y second
const double eps = 1e-8;
double a, b;
等于
abs(a - b) < eps
小于等于
a <= b + eps
小于
a < b - eps