当前位置: 首页 > news >正文

AcWing 93. 递归实现组合型枚举

文章目录

  • 前言
  • 代码
  • 思路

前言

今天晚上还有三个小时,写一晚上简单题。划水。

代码

#include<bits/stdc++.h>
using namespace std;
int n,m;
void dfs(int u,int sum,int state){if(sum+n-u<m){return;//sum 表示当前选了 sum 个数字,假设把所有的数字都选了都不足 m 个数字}//就说明选不了这么多个数字if(sum==m){for(int i=0;i<n;i++){if(state>>i&1){cout<<i+1<<" ";}}cout<<endl;return;}dfs(u+1,sum+1,state|1<<u);dfs(u+1,sum,state);
}
int main(){cin>>n>>m;dfs(0,0,0);return 0;
}

思路

比之前的那个题多了一个限制,之前是需要完整地选 n 个数字,现在是选择 m 个数字,所以判断一下,不能满足条件就不选了。AcWing 94. 递归实现排列型枚举。我觉得别人把这个二进制状态压缩写得贼熟练就是因为理解原理之后经常写,或者就是直接记住了。

http://www.lryc.cn/news/499070.html

相关文章:

  • vscode 折叠范围快捷键
  • RabbitMQ 实现分组消费满足服务器集群部署
  • Chromium网络调试篇-Fiddler 5.21.0 使用指南:捕获浏览器HTTP(S)流量(二)
  • 个人IP建设:简易指南
  • 智能指针【C++11】
  • 【Linux 篇】Docker 启动和停止的精准掌舵:操控指南
  • Cursor vs VSCode:主要区别与优势分析
  • 从单体到微服务:如何借助 Spring Cloud 实现架构转型
  • RocketMq基础学习+SpringBoot集成
  • 分布式cap
  • mybatis-xml映射文件及mybatis动态sql
  • 计算机网络复习——概念强化作业
  • 用友BIP与旺店通数据集成方案解析
  • string类函数的手动实现
  • Oceanbase离线集群部署
  • transformers生成式对话机器人
  • WPF中的VisualState(视觉状态)
  • C#设计模式--状态模式(State Pattern)
  • 〔 MySQL 〕索引
  • 计算机网络研究实训室建设方案
  • 韩企研学团造访图为科技:共探人工智能创新前沿
  • html button 按钮单选且 高亮
  • 图片上传HTML
  • C++学习-函数
  • spring boot 测试 mybatis mapper类
  • 远程游戏新体验!
  • Let up bring up a linux.part2 [十一]
  • 调用大模型api 批量处理图像 保存到excel
  • 使用 Flownex 模拟热环境对原油运输的影响
  • 【WRF-Urban】WPS中有关Urban的变量设置