![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分治/递归/DFS
-skyline-
这个作者很懒,什么都没留下…
展开
-
蓝桥杯-未名湖边的烦恼(递归)
问题描述:每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)#include<bits/stdc++.h>using namespace std;int a,b,ans;void dfs(int x,int y){...原创 2020-03-17 22:57:59 · 225 阅读 · 0 评论 -
蓝桥杯-递归输出
题意:编写递归函数,将组成整数的所有数字逐个输出,每个数字后面加上一个减号“-”,例如对于整数123,该函数将输出1-2-3- 。代码:记录我写的优美递归~#include<bits/stdc++.h>using namespace std;typedef long long ll;void dfs(int n){ if(n<10){ ...原创 2020-03-11 22:24:30 · 489 阅读 · 1 评论 -
蓝桥杯-2的次幂表示(递归)
题意: 任何一个正整数都可以用2进制表示,例如:137的2进制表示为10001001。 将这种2进制表示写成2的次幂的和的形式,令次幂高的排在前面,可得到如下表达式:137=2^7+2^3+2^0 现在约定幂次用括号来表示,即a^b表示为a(b) 此时,137可表示为:2(7)+2(3)+2(0) 进一步:7=2^2+2+2^0 (2^1用2表示) 3=2+2^...原创 2020-03-11 21:40:15 · 212 阅读 · 0 评论 -
蓝桥杯-01字串
题目:对于长度为5位的一个01串,每一位都可能是0或1,一共有32种可能。它们的前几个是:0000000001000100001100100请按从小到大的顺序输出这32种01串。记录我写的优美递归!(先走进‘0’分支再走进‘1’分支,保证答案是从小到大)#include<bits/stdc++.h>using namespace std...原创 2020-03-04 18:37:04 · 234 阅读 · 0 评论 -
蓝桥杯-特殊回文数(暴力枚举/dfs)
暴力枚举:#include<bits/stdc++.h>using namespace std;int main(){ int n; scanf("%d",&n); for(int i=10000;i<100000;++i){ int a=i/10000; int b=i/1000%10; ...原创 2020-03-02 22:31:32 · 185 阅读 · 0 评论 -
带分数(dfs)
链接:https://www.acwing.com/problem/content/1211/题意100 可以表示为带分数的形式:100 = 3 + 69258 / 714。还可以表示为:100 = 82 + 3546 / 197。注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。输入从标准输入读入一个正整数N (N<...原创 2020-01-29 02:38:49 · 384 阅读 · 0 评论 -
递归入门
递归实现指数型枚举 题目链接:从 1~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。输入样例:3输出样例:322 311 31 21 2 3代码:#include<iostream>#include<cstring>#include<cstdio>using namespace std;...原创 2020-01-25 17:20:59 · 201 阅读 · 1 评论 -
最近点对(分治)
题目链接#include<bits/stdc++.h>using namespace std;const int N=100005;struct Point{ int x,y;}S[N],P[N];bool cmpx(Point a,Point b){ return a.x<b.x;}bool cmpy(Point a,Point b){ ...原创 2019-09-30 00:43:11 · 132 阅读 · 0 评论 -
蛇形矩阵(分治)
从左上角起 逆时针从外层到内层 填数相同的子问题:每一层可分左边、下边、右边、上边四个区域分别来填,每进一层,边上的数的个数少2(size-2)(begin, begin)表示每一圈左上角的位置递归边界:n是偶数时 最后size为0,直接returnn是奇数时 最后size为1,填完最后一个数return分治和暴力的时间复杂度都是O(n^2)#include<...原创 2019-09-23 16:41:32 · 174 阅读 · 0 评论 -
P1010 幂次方(优雅分治)
题目链接#include<bits/stdc++.h>using namespace std;string run(int x,int i=0,string s=string("")){ if(x==0)return ("0"); do{ if(x&1){ s = ( i==1 ? "2" : "2(" + ru...原创 2019-09-18 19:32:38 · 188 阅读 · 0 评论