摘要: 递归实现排列型枚举 把 1∼n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式 一个整数 n。 输出格式 按照从小到大的顺序输出所有方案,每行 1 个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围 1≤ 阅读全文
posted @ 2022-05-12 20:05 open520 阅读(35) 评论(0) 推荐(0)
摘要: 入门例题 递归实现指数型枚举 从 1∼n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式 输入一个整数 n。 输出格式 每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好 1 个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同 阅读全文
posted @ 2022-05-12 20:04 open520 阅读(54) 评论(0) 推荐(0)
摘要: 题解: 对于指数型枚举一个数只有选与不选的区分,所以我们从第一个位置,枚举到第n个位置,在第i个位置上,i这个数只有选与不选的区别,选的话我们将st[i]记录为i;不选记录为-1;一直到u>n时枚举了所有的位置,此时输出即可,要注意的是在输出完后要记得return掉 #include<cstdio> 阅读全文
posted @ 2022-05-12 20:04 open520 阅读(32) 评论(0) 推荐(0)
摘要: 递归 递归算法在计算机系统中用栈帮助实现,一般常见的算法有深度优先遍历(DFS),可以解决的问题有迷宫问题是否连通的问题,递推会对应一个递归搜索树,递归搜索树可以帮助我们更好的理解递归的流程,递归要注意的有是否可以进行剪枝,在迷宫问题中,也要考虑是否要保存原有的迷宫。 阅读全文
posted @ 2022-05-12 20:02 open520 阅读(45) 评论(0) 推荐(0)
摘要: 排序 快排 #include<cstdio> #include<iostream> #include<algorithm> using namespace std; const int N=1e6+10; int num[N]; int n; void quick_sort(int q[],int 阅读全文
posted @ 2022-05-12 20:02 open520 阅读(28) 评论(0) 推荐(0)
摘要: 归并排序 二分 整数二分 浮点二分 递归和递推 阅读全文
posted @ 2022-05-12 20:02 open520 阅读(16) 评论(0) 推荐(0)