容斥
Tz_rain
需要做的事情
解题 总结 巩固
解题三个步骤
量化 分析 实现
需要改变的三个问题
性格 心态 思考方式
不要再后悔
展开
-
有关子集枚举和容斥的一些问题
子集枚举 对于每一个二进制集合我们希望枚举它所有的子集要怎么办呢? 复杂度:3^m 的做法 for(int i=(1<<m)-1;i;--i)//复杂度:3^m for(int j=(i-1)&i;j;j=(j-1)&i)//枚举所有的子集 collect(i,j);//把子集j的信息收集给i复杂度 m*2^m的做法for(int i=0;i<m;i++)for(int原创 2017-06-06 11:10:40 · 653 阅读 · 1 评论 -
专题:有关容斥原理和子集枚举的一些问题
容斥原理 意义:有些问题中经常会出现这样一些烦人的限制条件如: 每个物品有一个额外的权如11011101,10011001, 我们最终答案的状态种一定要满足所取的物品,它们的权或后为11111111。 此时如果这个值的位数很大我们之前学习过的知识对其就没有办法了。此时我们不妨分析一下最终的答案是怎么得到的。 只要最终四个位上都有11就满足了对吧,不难发现如果我们把条件放宽一点:即最终得到的答案是1原创 2017-07-10 15:04:49 · 1137 阅读 · 0 评论