枚举
bugkingyzy
这个作者很懒,什么都没留下…
展开
-
新手入门—递归实现排列型枚举
分析排列型枚举的意思是在范围内有多少种不同的排列方法,我们可以想一下组合型枚举,组合型枚举相当于寻找元素个数为n的子集并且以升序的形式输出。所以同一种组合只有一种表达形式,那么排列型枚举相当于将同一种组合以不同的排列顺序表现出来。我们首先看一下组合型枚举的递归函数。//我们逐行来进行分析void dfs(int cur){ if(cur == m + 1) { ...原创 2019-02-15 19:30:04 · 1549 阅读 · 0 评论 -
新手入门—递归实现组合型枚举
组合型枚举的意思是给出两个数字n、m,输出在n范围内元素个数为m的所有数组。(升序)例如输入3、2;输出1、2;1、3;2、3;代码#include <bits/stdc++.h>using namespace std;int n, m;int arr[30];bool vis[30];void dfs(int cur){ if(cur == m + 1) {...原创 2019-02-14 16:04:41 · 1314 阅读 · 0 评论 -
新手入门—递归实现指数型枚举
题目意思简而言之是将{1,2,3……n}中所有的真子集输出出来。代码如下#include<bits/stdc++.h>using namespace std;int n,i;int arr[20];void dfs(int cur,int m){ if(cur==n+1){ for(i=1;i<m;++i){ cout<<arr[i]<...原创 2019-02-12 21:16:37 · 2063 阅读 · 0 评论