【学习笔记】子集生成的方法
二进制法(最简单,位运算符与&):
二进制中1代表选择,0代表不选择,用if(s&(1<<i))判断该输出哪个
注意如n=5时,输出的结果是0~4的子集,若要改成1~5的只需把输出的i+1即可
void print_subset(int n,int s)
{for(int i=0;i<n;i++)if(s&(1<<i))printf("%d ",i);printf("\n");
}
int main()
{int n;cin>>n;for(int i=0;i<(1<<n);i++)print_subset(n,i);return 0;
}
位向量法:
递归回溯
n=5时,输出结果num=32
int b[maxn];
int num=0;
void print_subset(int n,int* b,int cur)
{if(cur==n+1){num++;for(int i=1;i<=n;i++)if(b[i]) printf("%d ",i);printf("\n");return ;}b[cur]=1;//选第cur个元素print_subset(n,b,cur+1);b[cur]=0;//不选第cur个元素print_subset(n,b,cur+1);
}
int main()
{int n;cin>>n;print_subset(n,b,1);cout<<"num:"<<num<<endl;return 0;
}
【学习笔记】子集生成的方法相关推荐
- 《Go语言圣经》学习笔记 第六章 方法
<Go语言圣经>学习笔记 第六章 方法 目录 方法声明 基于指针对象的方法 通过嵌入结构体来扩展类型 方法值和方法表达式 示例:Bit数组 封装 注:学习<Go语言圣经>笔记, ...
- Hibernate学习笔记Session.evict(user)方法
@[TOC]Hibernate学习笔记Session.evict(user)方法 Hibernate学习笔记Session.evict(user)方法 首先我们要明白Session.flush(use ...
- Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用
Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用 技术qq交流群:CreDream:251572072 1.使用之前导入文件: 这里用jquery-easyui-1.2.6 ...
- js学习笔记2 -- js使用方法
js学习笔记2 -- js使用方法 方法一,使用外部js文件(推荐使用) 方法二,写在script标签中 方法三,写到标签的onclick属性中 方法四,使用超链接 方法一,使用外部js文件(推荐使用 ...
- wyy课堂cmos模拟设计课学习笔记-gm/Id设计方法介绍及曲线仿真
wyy课堂cmos模拟设计课学习笔记-gm/Id设计方法及曲线仿真 总思路 需要的图像曲线 软件操作 举例说明 总思路 这在b站上也有教学视频:https://www.bilibili.com/vid ...
- 凸优化学习笔记 15:梯度方法
前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...
- 【TensorFlow-windows】学习笔记七——生成对抗网络
前言 既然学习了变分自编码(VAE),那也必须来一波生成对抗网络(GAN). 国际惯例,参考网址: 论文: Generative Adversarial Nets PPT:Generative Adv ...
- 学习笔记1 三大聚类方法:K-means聚类、层次聚类、DBSCAN聚类
学习笔记1:三大聚类方法:K-means聚类.层次聚类.DBSCAN聚类 文章目录 前言 一.K-means聚类 操作过程 二.层次聚类 操作过程 三.DBSCAN聚类 操作过程 总结 前言 在样本数 ...
- 【学习笔记11】动态方法调用和使用通配符定义action
2019独角兽企业重金招聘Python工程师标准>>> 动态方法调用: 如果Action中存在多个方法时,我们可以使用 !+方法名调用指定方法.如下: public class He ...
- python测试自动化封装_python接口自动化学习笔记(封装获取测试数据方法)
本篇文章是接于python接口自动化学习笔记(封装方法用于读取excel) 后的拓展,讲解在封装完成excel的数据读取代码后,如何在data层进行使用 首先,我准备了这样一个excel表格用以存储测 ...
最新文章
- “AI赋能,驱动未来”—— 2018中国人工智能峰会(南京)圆满落幕
- Alt + sysrq + REISUB doesn't reboot my laptop
- 【MAVEN】如何在Eclipse中创建MAVEN项目
- 序列化对象C++对象的JSON序列化与反序列化探索
- python部落稿酬_Python之父考虑重构Python解释器
- idea 配置maven一直停留在loading archetype list
- python笔记1-准确掌握列表和元组
- C++: find()函数的注意事项
- Servlet(1) Servlet容器和Servlet
- 复刻SHEIN,中国跨境供应链大突围 | 钛媒体深度
- 2017到2018总结与展望
- 非法使用爬虫,一互联网公司被端,警方上门,23人被带走…
- 自建服务器好还是外包,自建与外包对比:如何使你的IT回归内部
- Codeforces 513F1 513F2 Scaygerboss 网络流
- 正确重启计算机的方法,电脑一开机就会出现 重启并选择正确的启动设备或在选定的启动设...
- 汉诺塔问题(递归算法思想)
- eclipse的常用操作
- 单元测试技巧之PowerMock
- HTTPError错误
- android自定义侧滑菜单slidmenu
热门文章
- 从企业角度看:网站设计的关键是了解与沟通
- 计算机能力挑战赛_全国高校计算机能力挑战赛(基于tensorflow+python+opencv)!
- spring cloud config 加密配置
- Android设置Textview字体样式
- c段服务器维护,服务器 多c段
- [转]跨域资源共享 CORS 详解
- 多叉树的深度优先遍历并输出叶子路径
- eclipse生成ant build.xml打war包
- 北京协和医院付海鸿:医学精准要影像先行,影像精准就要技术先行
- POJ Building roads [二分答案 2SAT]