代码近期重新整理中...

ALGO-1 区间k大数查询

问题描述

  1. 资源限制
    时间限制:1.0s 内存限制:256.0MB

  2. 问题描述
    给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。

  3. 输入格式
    第一行包含一个数n,表示序列长度。
    第二行包含n个正整数,表示给定的序列。
    第三个包含一个正整数m,表示询问个数。
    接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。

  4. 输出格式
    总共输出m行,每行一个数,表示询问的答案。

  5. 样例输入
    5
    1 2 3 4 5
    2
    1 5 2
    2 3 2

  6. 样例输出
    4
    2

  7. 数据规模与约定
    对于30%的数据,n,m<=100;
    对于100%的数据,n,m<=1000;
    保证k<=(r-l+1),序列中的数<=106。

tab 代码

#include<bits/stdc++.h>
using namespace std;

int arr[1010];


int main(int argc, char const *argv[])
{
    int lenth;
    cin >> lenth;
    
    for (int i = 1; i <= lenth; i++)
        cin >> arr[i];
    
    int num;
    cin >> num;

    while (num--)
     {
        int start, end, no, brr[1010];
        cin >> start >> end >> no;
        if (start <= end)
        {
            for (int i = start; i <= end; i++)
                brr[i] = arr[i];

            for (int i = start; i <= end-1; i++)
            {
                for (int j = start; j <= end-1; j++)
                {
                    if(brr[j]<brr[j+1])
                    {
                        int temp = brr[j];
                        brr[j]=brr[j+1];
                        brr[j+1]=temp;1
                    }
                }
            }
            cout << brr[start+no-1] << endl;
        }
    }

    return 0;
}

ALGO-2 最大最小公倍数

问题描述

  1. 资源限制
    时间限制:1.0s 内存限制:256.0MB

  2. 问题描述
    已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。

  3. 输入格式
    输入一个正整数N。

  4. 输出格式
    输出一个整数,表示你找到的最小公倍数。

  5. 样例输入
    9

  6. 样例输出
    504

  7. 数据规模与约定
    1 <= N <= 106。

代码

#include<iostream>
using namespace std;

int main(int argc, char const *argv[])
{
	long long int num;
	cin >> num;
	if(num%2==0)
	{
		if(num%3==0)
			cout << (num-1)*(num-2)*(num-3);
		else
			cout << num*(num-1)*(num-3);
	}
	else
		cout << num*(num-1)*(num-2);
	return 0;
}

ALGO-3 K好数

问题描述

  1. 资源限制
    时间限制:1.0s 内存限制:256.0MB

  2. 问题描述
    如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K = 4,L = 2的时候,所有K好数为11、13、20、22、30、31、33 共7个。由于这个数目很大,请你输出它对1000000007取模后的值。

  3. 输入格式
    输入包含两个正整数,K和L。

  4. 输出格式
    输出一个整数,表示答案对1000000007取模后的值。

  5. 样例输入
    4 2

  6. 样例输出
    7

  7. 数据规模与约定
    对于30%的数据,KL <= 106;
    对于50%的数据,K <= 16, L <= 10;
    对于100%的数据,1 <= K,L <= 100。

代码


Q.E.D.


来都来了,点个广告再走吧(=・ω・=)