二进制法(最简单,位运算符与&):


二进制中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;
}

【学习笔记】子集生成的方法相关推荐

  1. 《Go语言圣经》学习笔记 第六章 方法

    <Go语言圣经>学习笔记 第六章 方法 目录 方法声明 基于指针对象的方法 通过嵌入结构体来扩展类型 方法值和方法表达式 示例:Bit数组 封装 注:学习<Go语言圣经>笔记, ...

  2. Hibernate学习笔记Session.evict(user)方法

    @[TOC]Hibernate学习笔记Session.evict(user)方法 Hibernate学习笔记Session.evict(user)方法 首先我们要明白Session.flush(use ...

  3. Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用

    Ui学习笔记---EasyUI的使用方法,EasyLoader组件使用 技术qq交流群:CreDream:251572072 1.使用之前导入文件:   这里用jquery-easyui-1.2.6 ...

  4. js学习笔记2 -- js使用方法

    js学习笔记2 -- js使用方法 方法一,使用外部js文件(推荐使用) 方法二,写在script标签中 方法三,写到标签的onclick属性中 方法四,使用超链接 方法一,使用外部js文件(推荐使用 ...

  5. wyy课堂cmos模拟设计课学习笔记-gm/Id设计方法介绍及曲线仿真

    wyy课堂cmos模拟设计课学习笔记-gm/Id设计方法及曲线仿真 总思路 需要的图像曲线 软件操作 举例说明 总思路 这在b站上也有教学视频:https://www.bilibili.com/vid ...

  6. 凸优化学习笔记 15:梯度方法

    前面的章节基本上讲完了凸优化相关的理论部分,在对偶原理以及 KKT 条件那里我们已经体会到了理论之美!接下来我们就要进入求解算法的部分,这也是需要浓墨重彩的一部分,毕竟我们学习凸优化就是为了解决实际当 ...

  7. 【TensorFlow-windows】学习笔记七——生成对抗网络

    前言 既然学习了变分自编码(VAE),那也必须来一波生成对抗网络(GAN). 国际惯例,参考网址: 论文: Generative Adversarial Nets PPT:Generative Adv ...

  8. 学习笔记1 三大聚类方法:K-means聚类、层次聚类、DBSCAN聚类

    学习笔记1:三大聚类方法:K-means聚类.层次聚类.DBSCAN聚类 文章目录 前言 一.K-means聚类 操作过程 二.层次聚类 操作过程 三.DBSCAN聚类 操作过程 总结 前言 在样本数 ...

  9. 【学习笔记11】动态方法调用和使用通配符定义action

    2019独角兽企业重金招聘Python工程师标准>>> 动态方法调用: 如果Action中存在多个方法时,我们可以使用 !+方法名调用指定方法.如下: public class He ...

  10. python测试自动化封装_python接口自动化学习笔记(封装获取测试数据方法)

    本篇文章是接于python接口自动化学习笔记(封装方法用于读取excel) 后的拓展,讲解在封装完成excel的数据读取代码后,如何在data层进行使用 首先,我准备了这样一个excel表格用以存储测 ...

最新文章

  1. “AI赋能,驱动未来”—— 2018中国人工智能峰会(南京)圆满落幕
  2. Alt + sysrq + REISUB doesn't reboot my laptop
  3. 【MAVEN】如何在Eclipse中创建MAVEN项目
  4. 序列化对象C++对象的JSON序列化与反序列化探索
  5. python部落稿酬_Python之父考虑重构Python解释器
  6. idea 配置maven一直停留在loading archetype list
  7. python笔记1-准确掌握列表和元组
  8. C++: find()函数的注意事项
  9. Servlet(1) Servlet容器和Servlet
  10. 复刻SHEIN,中国跨境供应链大突围 | 钛媒体深度
  11. 2017到2018总结与展望
  12. 非法使用爬虫,一互联网公司被端,警方上门,23人被带走…
  13. 自建服务器好还是外包,自建与外包对比:如何使你的IT回归内部
  14. Codeforces 513F1 513F2 Scaygerboss 网络流
  15. 正确重启计算机的方法,电脑一开机就会出现 重启并选择正确的启动设备或在选定的启动设...
  16. 汉诺塔问题(递归算法思想)
  17. eclipse的常用操作
  18. 单元测试技巧之PowerMock
  19. HTTPError错误
  20. android自定义侧滑菜单slidmenu

热门文章

  1. 从企业角度看:网站设计的关键是了解与沟通
  2. 计算机能力挑战赛_全国高校计算机能力挑战赛(基于tensorflow+python+opencv)!
  3. spring cloud config 加密配置
  4. Android设置Textview字体样式
  5. c段服务器维护,服务器 多c段
  6. [转]跨域资源共享 CORS 详解
  7. 多叉树的深度优先遍历并输出叶子路径
  8. eclipse生成ant build.xml打war包
  9. 北京协和医院付海鸿:医学精准要影像先行,影像精准就要技术先行
  10. POJ Building roads [二分答案 2SAT]