容斥原理
来源:互联网 发布:大旗软件 编辑:程序博客网 时间:2024/05/11 14:19
容斥原理大家都比较熟悉了,它是用来求一大串给定的可能有交集的集合的并集。其公式如下:
|A1∪A2∪A3∪···∪Am| =
记得第一次接触到这个公式,就卡在了实现上面。后来,在网上看到了一种方法,个人认为很好,在此给大家分享一下。
步骤如下:
1、设定一个循环变量i,令其初始值为1;
2、将i转化为二进制。
3、对于转化成的二进制数的从右往左数的第i位d[i]:
若d[i] = 1,则表示需计算集合Ai,否则不需要。
4、将i加1,转2。
不难看出,按照这种方式计算,需要表示出所有m位的01排列。所以这个算法的时间复杂度为O(2^m)
---------------------------------------------华丽的分割线-------------------------------------------------------
for(int i = 1; i <= (1 << m); i++) for(int j = 0; j < m; j++) if((i >> j) & 1) //判断第j+1位是否为1 /*做需要的计算*/
阅读全文
0 0
- 容斥原理
- 容斥原理 POJ3904
- 【容斥原理】八
- 【八】容斥原理
- 广义容斥原理
- 容斥原理
- 容斥原理 专题
- 容斥原理 专题
- hdu4390 容斥原理
- hdu1695 容斥原理
- HDU3929(容斥原理)
- 整除 容斥原理
- HDU4390(容斥原理)
- 容斥原理
- poj3904 容斥原理
- 容斥原理应用
- bzoj2393 容斥原理
- hdu4135 容斥原理
- 设计模式简介
- Excel的基础操作
- mysql 多表更新
- PHP中MySQL、MySQLi和PDO的用法和区别
- 关于gridview多item选中放大问题。
- 容斥原理
- 两种基于AOP的日志管理方法(springboot)
- Storm架构
- HDR技术研究之Radiometric Self Calibration
- Luogu P3120 [USACO15FEB]牛跳房子(金)Cow Hopscotch (Gold)
- Java并发编程--Lock的用法
- 黑白图像直方图“盛大游戏杯”第15届上海大学程序设计联赛夏季赛暨上海高校金马五校赛
- 【网络实验】非法(不按RFC标准)修改skb数据包遇到的现象
- 建表建库语句