《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs
文章目录
- 题目解答
- 题目链接
题目解答
分析:
优化:用二进制状态压缩,也就是用二进制上的位来记录数有没有被用过。
ac代码
#include<bits/stdc++.h>
using namespace std;
int n;
//用二进制状态压缩,也就是用二进制上的位来记录数有没有被用过。
// u是当前枚举到的数,state是二进制数记录哪些数被选
void dfs(int u ,int state){if( u == n){for(int i = 0; i< n; i++)//判断第i位是不是1,如果是1就代表被选,输出if(state >> i & 1) //第几位就代表输出几,只不过不是从0开始,而是从1开始cout << i + 1 << " ";cout << endl;return;}// 不用这个数,第u位不动dfs(u + 1, state); // 用这个数,把第u位变成1dfs(u + 1, state | 1 << u); // 运算优先级: 左移高于位运算|}int main(){cin >> n;/*回顾一下dfs参数的含义:- u是当前枚举到的数,-state是二进制数记录哪些数被选则 dfs(0, 0)表示:当前枚举到0,没有数被选*/ dfs(0, 0);}
题目链接
https://www.acwing.com/problem/content/94/
《算法竞赛进阶指南》打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归、二进制状态压缩、dfs相关推荐
- 《算法竞赛进阶指南》打卡-基本算法-AcWing 93. 递归实现组合型枚举:递归与递推、dfs、状态压缩
文章目录 题目解答 题目链接 题目解答 分析: 此题和笔者另一篇博文很像,只不过是限定了个数.<算法竞赛进阶指南>打卡-基本算法-AcWing 92. 递归实现指数型枚举:递推与递归.二进 ...
- 金字塔(算法竞赛进阶指南)
虽然探索金字塔是极其老套的剧情,但是有一队探险家还是到了某金字塔脚下. 经过多年的研究,科学家对这座金字塔的内部结构已经有所了解. 首先,金字塔由若干房间组成,房间之间连有通道. 如果把房间看作节点, ...
- 《算法竞赛进阶指南》数论篇
<算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSGS <算法竞赛进阶指南>数论篇(1)-最大公约数,素数筛,欧拉函数,同余,欧拉定理,BSG ...
- 《算法竞赛进阶指南(by 李煜东)》习题题解 集合
又是笔者给自己挖的大坑. 这里是李煜东所著<算法竞赛进阶指南(by 李煜东)>的习题题解集合. 有任何错误请在对应文章下反馈或联系 nicest1919@163.com ,谢谢 qwq 从 ...
- CH5202 自然数拆分Lunatic版(算法竞赛进阶指南,完全背包)
算法竞赛进阶指南,278页,完全背包 本题要点: 1.把完全背包的代码改改即可.常规的完全背包: 有n个物品,每个物品的体积是v[i], 价值是w[i], 求装到大小为m的大背包,能获得的最大价值(每 ...
- 中位数--《算法竞赛进阶指南》(货仓选址和七夕祭问题详解)
中位数 今天又和大家见面了啦~ 依旧是 <算法竞赛进阶指南>的学习哦~ 中位数(Median)又称中值,统计学中的专有名词,是按顺序排列的一组数据中居于中间位置的数,代表一个样本.种群或概 ...
- AcWing 122. 糖果传递【贪心】【《算法竞赛进阶指南》,微软面试题 , HAOI2008】
AcWing 122. 糖果传递 一.题目链接 二.题目分析 (一)算法标签 (二)解题思路 三.AC代码 四.其它题解 一.题目链接 AcWing 122. 糖果传递 进阶题目 AcWing 105 ...
- 算法竞赛进阶指南 骑士放置
4: 最大独立集 :选出最多的点,使得选出的点之间没有边. 求最大独立集:选出最小的点可以破坏所有的边 <==>最小点覆盖 <==>最大匹配数. 假设最大匹配数为m,共有n个点 ...
- 算法竞赛进阶指南 萌新入门!
算法竞赛进阶指南 文章目录 算法竞赛进阶指南 前言 一.介绍本书 二.如何阅读本书 三.总结 **笔记思路和结构 ** 算法竞赛进阶指南 这篇文章就简单的写一下吧! 前言 作为一个想要入坑的算法的 ...
- 算法竞赛进阶指南0x3A 博弈论之SG函数
算法竞赛进阶指南0x3A 博弈论之SG函数
最新文章
- C++ OpenCV创建xml,yml文件(图像)列表程序
- MySQL/MariaDB数据库主从复制
- php完全手册下载_PHP: 序言 - Manual
- lisp 绘制立体感的五角星_[原创]圆内加五角星lsp代码,详细有注解
- 邮箱通知php,PHPMailer 发送邮件(含详细介绍及使用方法说明)
- 前端学习(2783):封装myrequest并绑定到全局
- VC内存对齐准则(Memory alignment)
- SQL Server 分离与附加数据库
- Javascript ES6 理解Promise的then()
- Dubbo视频教程--基础篇--第06节--Dubbo管理控制台的安装
- 什么是Trunk端口模式?此模式有何作用?
- 实现HTML格式电子邮件群发
- Prometheus(6)Pormetheus+ Alertmanager配置邮件警告,并使用模板进行发送
- css透明度兼容问题opacity
- 记录更换固态硬盘免重装系统和环境的操作
- 安排,ActiveMQ RabbitMQ RokcetMQ 消息队列中间件视频教程
- matplotlib学习—画等高线图
- 自动驾驶算法详解(8):特斯拉Tesla决策规划算法Planning解析下
- 解决PythonDjango错误“TypeError: ‘bool‘ object is not callable”
- Rust地图下载、Rust服务器地图下载教程、腐蚀地图下载攻略
热门文章
- python3.4安装suds
- 什么是 JSON ?
- linux下挂载U盘
- dedephp geteditor(,cms教程:dedecms修改后台编辑器参数GetEditor的方法
- 【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现 代码详细版
- 径向基RBF(radial basis function)函数、RBF神经网络、 反推(back-stepping)控制
- 雅客EXCEL(1)--快速录入、统计、日期
- 【任务脚本】0522更新京东618叠蛋糕任务脚本,京东任务自动程序
- 【LSTM】基于LSTM网络的人脸识别算法的MATLAB仿真
- 7.MATLAB变量——矩阵操作二