首页 > 其他分享 >(蓝桥)递归与递推

(蓝桥)递归与递推

时间:2024-02-28 19:37:21浏览次数:15  
标签:www 递归 int dfs 蓝桥 include 递推

1、对于  scanf  printf 和 cin cout 按照10^5来划分使用

 递归实现指数型枚举

 https://www.acwing.com/problem/content/94/

 

#include <iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=17;
int n;int a[N];
void f(int u){//进行选择  0默认 1选择 2不选择
    if(u>n){
        for(int i=1;i<=n;i++){
            if(a[i]==1) cout<<i<<" ";
        }
        cout<<endl;
        return;//不要忘记返回
    }
    a[u]=1;
    f(u+1);
    a[u]=0;//递归后复原
    
    a[u]=2;
    f(u+1);
    a[u]=0;//递归后复原
}
int main()
{
    cin>>n;
    f(1);
    return 0;
}

94. 递归实现排列型枚举

https://www.acwing.com/problem/content/96/

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int N=10;
int n;int st[N];
int p[N];
void dfs(int u){
    if(u>n){
        for(int i=1;i<=n;i++) cout<<p[i]<<" ";
        cout<<endl;
        return;
    }
    for(int i=1;i<=n;i++)
    {//遍历每个数字进行判断
        if(!st[i]){
            st[i]=1;
            p[u]=i;//将数字记录在该层
            dfs(u+1);
            st[i]=0;//还原
            p[u]=0;
        }
    }
}
int main()
{
    cin>>n;
    dfs(1);
    return 0;
 } 

 

标签:www,递归,int,dfs,蓝桥,include,递推
From: https://www.cnblogs.com/daimazhishen/p/18041534

相关文章

  • 第十四届蓝桥杯个人题解
    a幸运的数主要是思路 遍历1-100000000每一层循环,首先将其每一位分到数组里,并记录位数,如果是偶数位再接着往下,比较前半和后半是否相等:通过加减最后结果是否为零来判断intmain(){  intnum=0;  for(inti=1;i<100000000;i++)  {    ints[9]={0};......
  • Python如何递归删除空文件夹
    1.Python如何递归删除空文件夹,这个问题很常见。但大多数人的解决办法都是自己实现递归函数解决这个问题,其实根本不用那么麻烦。Python中的os.walk提供了一种从内到外的遍历目录树的方法(设置topdown=False),这样由内到外判断当前目录树下是否有文件和文件夹,如果都没有则意味着当前目......
  • P5461【黄】-递归
    简单的很,十分钟不到就切掉了,做这道黄题是因为今天写累了不想写代码了,就最后做一道简单的。看来黄题对我而言基本就是“一半能切一半想一会之后能切”,除非题目是思维题 1#include<iostream>2#include<cstring>3#include<string>4#include<cstdio>5#include......
  • 备战蓝桥
    0地宫取宝-蓝桥云课(lanqiao.cn)对于该问题,首先是个迷宫问题,于是先考虑暴力求解,对于暴力来说,有这样一种方法:对于任何一点来说,都可以进行选或者不选,然后当走到终点时如果符合条件则答案加$1$,这样做的时间复杂度是$2^n也就是2^50$,很明显得不到满分.既然是迷宫那......
  • 2024 蓝桥杯模拟赛3(div1+div2)
    P8834[传智杯#3决赛]序列\(O(N^2)\)枚举defread():returnmap(int,input().split())n,k=read()a=list(read())res=0foriinrange(n):forjinrange(i):ifa[i]*a[j]<=k:res+=1print(res)P8780[蓝桥杯2022省......
  • 2024 蓝桥杯模拟赛3(div1+div2)
    题目A.暴力枚举#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongconstintN=2e5+10;#defineinf0x3f3f3f3fvoidsolve(){intn,k;cin>>n>>k;vector<int>a(n+1);for(inti=1;i<=n;i++)cin>>a[i];......
  • 算法入门:递归和迭代
    文章目录1.递归 1.1.概念1.2.案例1.3.优缺点2.迭代2.1.概念2.2.案例2.3.优缺点3.递归与迭代算法的关系和区别3.1.关系3.2.区别3.3.算法的选择 1.递归1.1.概念递归算法是一种解决问题的方法,其中问题被分解为更小、相似的子问题。这一方法通过不断调用自......
  • 蓝桥杯2022年第十三届省赛真题-矩形拼接
    目录题目分析代码题目分析情况1:三个矩形有一边相等。(完全匹配:4边)情况2:三个矩形中有前两个矩形的边等于第三个矩形的边,而且前两个矩形的另一条边相等。(完全匹配:4边)情况3:三个矩形中有前两个矩形的边等于第三个矩形的边,而且前两个矩形的另一条边不相等。(部分匹配:6边)......
  • 2023蓝桥杯省赛B组真题及解析
    2023蓝桥杯省赛B组真题及解析7.子串简写算法:前缀和https://www.lanqiao.cn/problems/3514/learning/?subject_code=1&group_code=4&match_num=14&match_flow=1&origin=cup#include<bits/stdc++.h>using namespace std;int main(){    int K;    cin>>K; ......
  • P8668 [蓝桥杯 2018 省 B] 螺旋折线
    以第四象限的形如(x,-x)的点(它的距离最好算)为基准,来推附近的点的距离。不用怕坐标轴上的点的从属划分问题,例如在A区域和B区域交线上的点,那么它就应该是既满足A区域算法,又满足B区域算法的。#include<bits/stdc++.h>usingnamespacestd;longlongx,y,n,d;intmain(){......