Description

递归实现指数型枚举是一种常用的DFS算法,复杂度是2^n,只能在n比较小的时候使用。
一般用于:从 1∼n 这 n 个整数中随机选取(或者有某些规则限制)任意多个,输出所有可能的选择方案。
其实背包问题也可以用这种方法解决,只是复杂度会比较高......
一个旅行者有一个最多能装 M 公斤的背包,现在有 n 件物品,它们的重量分别是W1,W2,...,Wn,旅行者最多能装多少重量。本题目题面:
给你N个整数,从中选取任意多个(至少选择一个),输出所有可能的选择方案,
无需输出每个数字,只需要输出选择数字的和。

题目链接  http://172.26.14.60:8000/uoj/pic/19071_1647654030248_70016.jpg

输入格式

第一样输入一个整数 n。
第二行输入n个整数。1<=n<=10

输出格式

输出所有的方案,注意输出要按字典序。
即按如下次序
a1
a1+a2
a1+a2+a3
a1+a2+a3......
a2
a2+a3
a2+a3+......
......
an

输入样例

3
240 300 360

输出样例

240
540
900
600
300
660
360

提示

指数型枚举在每一步中都有两种选择,选中这个元素或不选中,对这两种情况分别递归即可。

思路

按照题面意思,注意传参传够就可以实现了

#include<stdio.h>
int sum=0,cur=1;
void dfs(int cur,int sum,int a[],int n)
{if(cur==n+1)return ;printf("%d\n",sum+a[cur]);dfs(cur+1,sum+a[cur],a,n);dfs(cur+1,sum,a,n);}
int main()
{int n;scanf("%d",&n);int a[n];int i;for(i=1;i<=n;i++)scanf("%d",&a[i]);dfs(cur,sum,a,n);return 0;
}

19071 递归实现指数型枚举相关推荐

  1. SCAU华南农业大学数据结构19071 递归实现指数型枚举

    按照图片提示的算法来打就行了. #include <iostream> using namespace std;int n,a[10],sum=0,cur=1;void dfs( int ...

  2. [位运算][递归] 递归实现指数型枚举

    递归实现指数型枚举 从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数n. 输出格式 每行输出一种方案. 同一行内的数必须升序排列,相邻两个数用恰好1个空格 ...

  3. 《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs

    文章目录 题目解答 题目链接 题目解答 分析: 优化:用二进制状态压缩,也就是用二进制上的位来记录数有没有被用过. ac代码 #include<bits/stdc++.h> using n ...

  4. 递归实现指数型枚举(搜索)

    题目链接 AcWing 92. 代码: #include <bits/stdc++.h>using namespace std;int main() {std::ios::sync_wit ...

  5. 92. 递归实现指数型枚举

  6. 【蓝桥杯试题】 递归实现指数型枚举例题

  7. 递归实现指数型,排列型,组合型枚举

    目录 递归实现指数型枚举 递归实现排列型枚举 递归实现组合型枚举 递归实现指数型枚举  题目 从 1∼n1∼n 这 nn 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数 n ...

  8. 递归实现指数型、排列型和组合型枚举

    1.递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案. 输入格式 输入一个整数 n. 输出格式 每行输出一种方案. 同一行内的数必须升序排列,相邻两个数用恰好 ...

  9. 模版 ----- 一维指数型枚举 排列型枚举 组合型枚举

    文章目录 一维指数型枚举 一.01型枚举 应用场景 递归树模型 时间复杂度 代码模版 应用 二.滑动型枚举 应用场景 递归树模型 时间复杂度 代码模版 排列型枚举 应用场景 递归树模型 时间复杂度分析 ...

最新文章

  1. sitemesh官网简介,安装配置教程。(非常适合新手)
  2. ABAP中P类型介绍
  3. oracle normal bitmap,深入解析Oracle ASSM结构之Level 1 Bitmap Block
  4. MySQL学习记录—常用语句集
  5. 20172301 2018-2019-1《程序设计与数据结构》课程总结
  6. python 装饰器装饰类
  7. Filecoin网络存储容量已达3 EB
  8. Solaris 11中的变化
  9. ‘javah‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  10. Iperf测试WIFI
  11. [论文阅读:姿态识别Transformer] TransPose: Keypoint Localization via Transformer 2021 ICCV
  12. elasticsearch篇之mapping
  13. 2019.06.28(day01)_java大数据课程体系
  14. python计算器gui设计_Python 计算器界面设计
  15. C语言程序设计(第三版)
  16. DNA序列存储为tfr文件并读取
  17. python基础(七)散点类型与格式化输出
  18. 高并发线程/锁/内存处理模型
  19. 无闻go编程基础笔记
  20. cookie、sessionStorage、localstorage作用范围

热门文章

  1. 数据分析与预测(二)——pandas 函数read_csv解析
  2. [CVPR2022]3D Photo Stylization: Learning to Generate Stylized Novel Views from a Single Image
  3. 通过Flex布局设置水平垂直居中
  4. r语言worldclim数据_MAXENT数据准备:气候数据与高程数据格式的统一
  5. python网络编程【二】(使用TCP)
  6. Laplacian eigenmap 拉普拉斯特征映射
  7. Android自动化测试工具调研
  8. 在 Linux CentOS7 上安装 Maven
  9. 计算机python实验报告_Python实验报告六:函数
  10. 十年自学编程成才(编程小白必看)