欢迎来到天天文库
浏览记录
ID:25508524
大小:181.08 KB
页数:177页
时间:2018-11-20
《蓝桥杯练习系统算法训练习题加答案解析java版本》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、WORD格式可编辑算法训练编号:ALGO-1题目:区间k大数查询列关键字:排序查找类型:普通试题问题描述给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。输入格式第一行包含一个数n,表示序列长度。第二行包含n个正整数,表示给定的序列。第三个包含一个正整数m,表示询问个数。接下来m行,每行三个数l,r,K,表示询问序列从左往右第l个数到第r个数中,从大往小第K大的数是哪个。序列元素从1开始标号。输出格式总共输出m行,每行一个数,表示询问的答案。样例输入5123452152232样例输出42数据规模与约定对于30%的数据,n,m<=100;
2、对于100%的数据,n,m<=1000;保证k<=(r-l+1),序列中的数<=1000000。本题的Java参考代码如下:importjava.io.BufferedInputStream;importjava.io.IOException;importjava.util.Arrays;专业知识分享WORD格式可编辑publicclassMain{privatestaticBufferedInputStreamin=newBufferedInputStream(System.in);publicstaticvoidmain(String[]args)
3、throwsIOException{int[]nums=newint[readInt()];for(inti=0;i0;i--){inta=readInt();intb=readInt();intc=readInt();int[]tn=newint[b-a+1];for(intj=0;j4、ength-c]);}}privatestaticintreadInt()throwsIOException{inti,sum=0;while(((i=in.read())&48)!=485、6、i>57);for(;(i&56)==487、8、(i&62)==56;i=in.read())sum=sum*10+(i&15);returnsum;}}专业知识分享WORD格式可编辑编号:ALGO-2题目:最大最小公倍数关键字:贪心类型:普通试题问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输9、出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1<=N<=1000000。本题的Java参考代码如下:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();longanser=1;switch(n){case95152://1anser=861460772824848L;break;case95486://2anser=87056410、410632930L;break;case94407://3anser=841392798581010L;break;case98088://4anser=943672006961970L;break;case91200://5anser=943672006961970L;break;专业知识分享WORD格式可编辑case98584://6anser=958079802716232L;break;case99456://7anser=983709271929210L;break;case97726://8anser=983709271929210L;b11、reak;case96800://9anser=983709271929210L;break;default://10anser=983709271929210L;}System.out.println(anser);}}编号:ALGO-3题目:k好数关键字:动态规划类型:普通试题问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K=4,L=2的时候,所有K好数为11、13、20、22、30、31、33共7个。由于这个数目很大,请你输出它对1000000007取模后的值12、。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模
4、ength-c]);}}privatestaticintreadInt()throwsIOException{inti,sum=0;while(((i=in.read())&48)!=48
5、
6、i>57);for(;(i&56)==48
7、
8、(i&62)==56;i=in.read())sum=sum*10+(i&15);returnsum;}}专业知识分享WORD格式可编辑编号:ALGO-2题目:最大最小公倍数关键字:贪心类型:普通试题问题描述已知一个正整数N,问从1~N中任选出三个数,他们的最小公倍数最大可以为多少。输入格式输入一个正整数N。输出格式输
9、出一个整数,表示你找到的最小公倍数。样例输入9样例输出504数据规模与约定1<=N<=1000000。本题的Java参考代码如下:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intn=sc.nextInt();longanser=1;switch(n){case95152://1anser=861460772824848L;break;case95486://2anser=870564
10、410632930L;break;case94407://3anser=841392798581010L;break;case98088://4anser=943672006961970L;break;case91200://5anser=943672006961970L;break;专业知识分享WORD格式可编辑case98584://6anser=958079802716232L;break;case99456://7anser=983709271929210L;break;case97726://8anser=983709271929210L;b
11、reak;case96800://9anser=983709271929210L;break;default://10anser=983709271929210L;}System.out.println(anser);}}编号:ALGO-3题目:k好数关键字:动态规划类型:普通试题问题描述如果一个自然数N的K进制表示中任意的相邻的两位都不是相邻的数字,那么我们就说这个数是K好数。求L位K进制数中K好数的数目。例如K=4,L=2的时候,所有K好数为11、13、20、22、30、31、33共7个。由于这个数目很大,请你输出它对1000000007取模后的值
12、。输入格式输入包含两个正整数,K和L。输出格式输出一个整数,表示答案对1000000007取模
此文档下载收益归作者所有