枚举子集复杂度 O(n^3) 证明
困扰多年的问题,居然在学习离散数学后的一分钟内得到解决。
形式化问题为,求满足 A ⊆ B ⊆ S A \sube B \sube S A⊆B⊆S 的有序对 < A , B > <A,B> <A,B> 的个数。
法1
类比子集数量的求法。每个元素有四种可能
- 同时在 A A A, B B B
- 在 A A A 不在 B B B
- 在 B B B 不在 A A A
- 都不在
其中由题,在 A A A 不在 B B B 不符合题意,所以每个元素有三种可能,最后是 3 n 3^n 3n
法2
按照 A A A 中的元素个数 k k k 分类,对于一个固定的 k k k,有序对有 C ( n , k ) ⋅ 2 n − k C(n,k) \cdot 2^{n-k} C(n,k)⋅2n−k 个,其中 C ( n , k ) C(n,k) C(n,k) 表示先选出某个 A A A, 2 n − k 2^{n-k} 2n−k 表示在剩下的元素任选,使之包含 A A A。
于是 N = ∑ k = 0 n C ( n , k ) ⋅ 2 n − k = ∑ k = 0 n C ( n , k ) ⋅ 1 k ⋅ 2 n − k = ( 1 + 2 ) n = 3 n N = \sum_{k=0}^{n} C(n,k)\cdot 2^{n-k} = \sum_{k=0}^{n} C(n,k)\cdot 1^k \cdot 2^{n-k} = (1+2)^n = 3^n N=∑k=0nC(n,k)⋅2n−k=∑k=0nC(n,k)⋅1k⋅2n−k=(1+2)n=3n
反过来先选 B B B 也是一样的,即 C ( n , k ) ⋅ 1 n − k ⋅ 2 k C(n,k)\cdot 1^{n-k} \cdot 2^k C(n,k)⋅1n−k⋅2k
枚举子集复杂度 O(n^3) 证明相关推荐
- 牛客挑战赛47 D Lots of Edges(最短路+递归枚举子集)
牛客挑战赛47 D Lots of Edges 思路:点的权值最多只有(1<<17)-1(131071) ,那我们可以枚举终点的值来算最短路,每个点能连边的值都是固定的,可以通过递归枚举子 ...
- 二进制枚举子集 CS Maxor 或运算,DP(SOS)
https://blog.csdn.net/noone0/article/details/78289517 目前没有题目链接. 题意:长度为n的序列a,选出两个元素,其或运算结果的最大值为多少,并求出 ...
- CDOJ 1355 柱爷与三叉戟不得不说的故事(枚举子集状压dp)
柱爷与三叉戟不得不说的故事 Time Limit: 500/500MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Subm ...
- [枚举子集]leetcode1255:得分最高的单词集合(hard)
题目: 题解: 思路:枚举子集 代码如下: class Solution {public:int maxScoreWords(vector<string>& words, vect ...
- Greetings!(枚举子集+dp)
题目网址https://nanti.jisuanke.com/t/32227 题意: 给n个信(信封有长宽和数目),问在找最多k种信封类型的时候,最少浪费多少纸 思路: 看了看题解,深以为然,这个思路 ...
- BZOJ 2560: 串珠子 (状压DP+枚举子集补集+容斥)
(Noip提高组及以下),有意者请联系Lydsy2012@163.com,仅限教师及家长用户. 2560: 串珠子 Time Limit: 10 Sec Memory Limit: 128 MB Su ...
- 状态压缩:枚举子集(最优组队)(ybtoj)(动态规划)
解析 很裸的状压dp 但是直接暴力的话状态2n,枚举2n 乘在一起会T诶 怎么办呢? 使用下面这个循环,就可以保证只会枚举当前状态s的子集 for(int i=(s-1)&s;i;i=(i-1 ...
- BZOJ1688|二进制枚举子集| 状态压缩DP
Disease Manangement 疾病管理 Description Alas! A set of D (1 <= D <= 15) diseases (numbered 1..D) ...
- 二进制的应用——枚举子集
集合是指由一个或多个确定的元素所构成的整体,也可以当作不分顺序的数组 当集合中不包含任何元素时,我们称它为空集 我们一般用大括号及期中若干元素表示一个集合,例如1,3,5{1,3,5}1,3,5表示包 ...
最新文章
- 使用Gson对复杂json对象的成员进行删选
- Android Context初探
- SOAP消息机制简介
- Windows 8 系统快捷键热键列表收集
- RedHat系列软件管理(第二版) --脚本安装
- 示范NTFS 卷上的流
- LABJS的使用教程
- Mysql原理+ 多实例 +表损坏
- 基于 Apache Mahout 构建社会化推荐引擎
- PollingBlockTracker - encountered an error while attempting to update latest block:
- 下列关于linux扩展名说法错误的是,全国计算机一级考试选择题集锦(2015年1月)
- matlab随机生成点图,matlab随机生成散点图
- PDF文件如何旋转页面保存
- 计算机上的no是代表什么意思啊,电脑出现nosignal是什么意思
- 用计算机软件绘制思维导图和手绘思维导图,用计算机软件绘制思维导图和手绘思维导图各有优势。()...
- 安装JDK+SDK+eclipse+Android Studio+模拟器(夜神OK,AVD黑屏)
- 【每日早报】2019/11/01
- 决策树和 K 近邻分类
- android 手势识别代码
- 如何把pdf转换成excel呢?教你简单的方法
热门文章
- 古月居 ROS 入门21讲--PA16 参数的使用与编程方法
- Python爬虫与信息提取(五)爬虫实例:爬取新浪微博热搜排名
- JAV----------数组操作
- 如何自己建网站,免费自助建站系统平台哪个最好?
- opencv的NORM_MINMAX参数
- Abbexa低样本量鸡溶菌酶 C (LYZ) ELISA 试剂盒
- Win8Metro(C#)数字图像处理--2.26图像减法
- vue3+ts+vant移动端H5项目搭建
- uni-app使用ucharts地图(主要微信小程序-初步使用)
- vue调用本地摄像头实现拍照