zoukankan      html  css  js  c++  java
  • 蓝桥杯算法训练题集

    蓝桥杯算法训练题目列表

    ALGO-1 区间k大数查询

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<string.h>
    #include<stdio.h>
    using namespace std;
    
    int a[1005];
    int tmp[1005];
    int ans[1005];
    bool cmp(int a,int b)
    {
        return a>b;
    }
    int maxsort(int l,int r,int val)
    {
        memset(tmp,0,sizeof(tmp));
        int i=l;int j=1;
       for(;i<=r;i++,j++)
            tmp[j]=a[i];
       sort(tmp+1,tmp+r-l+1+1,cmp);
       return tmp[val];
    }
    
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }
        int m;
        cin>>m;
        for(int k=1;k<=m;k++)
        {
            int l,r,val;
            cin>>l>>r>>val;
            //cout<<a[]
            cout<<maxsort(l,r,val)<<endl;
        }
    //    for(int i=1;i<=m;i++)
    //        cout<<ans[i]<<endl;
        return 0;
    }
    

    ALGO-3 K好数

    DP策略就是从局部到整体,dp[i][j]代表的是位长为i,并且首位是j时状态的总方案数,那么如何用dp[i-1]推到dp[i]呢?
    策略如下:由题意得两个相邻位数其值不想邻,我们只需要剔除这种情况即可;
    打个比方:设k=3,l=3 如何表示长度为3的方案数呢?
    我们得到下面等式:总方案数由下面相加:dp[3][0],dp[3][1],dp[3][2]
    并且:
    dp[3][0]=dp[2][2]
    dp[3][1]=0
    dp[3][2]=dp[2][0]
    我们决定长度为3时的首位数,然后剔除相邻的情况,拓展到长度为2的情况;

    #include <iostream>
    #include<cstdio>
    
    using namespace std;
    #define MOD 1000000007
    int dp[105][105];
    
    int main()
    {
        int k,l;
        cin>>k>>l;
        for(int i=0;i<k;i++)
            dp[1][i]=1;
        for(int i=2;i<=l;i++)
            for(int j=0;j<k;j++)
                for(int m=0;m<k;m++){
                    if(j!=m+1&&j!=m-1)
                    {
                        dp[i][j]+=dp[i-1][m];
                        dp[i][j]%=MOD;
                    }
                }
    
        int sum=0;
        for(int i=1;i<k;i++)
        {
            sum+=dp[l][i];
            sum%=MOD;
        }
        cout<<sum<<endl;
        return 0;
    }
    

    ALGO-4 结点选择

    ALGO-5 最短路

    ALGO-6 安慰奶牛

    ALGO-7 逆序对

    ALGO-8 操作格子

  • 相关阅读:
    Git标签
    Git管理修改和撤销修改
    Git删除文件
    Git解决冲突
    Git的stash功能
    Git管理分支
    Git的多人协作模式
    Git相关指令
    LC7 整数翻转 + LC9 回文数
    LC1 两数之和
  • 原文地址:https://www.cnblogs.com/bryce1010/p/9387001.html
Copyright © 2011-2022 走看看