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