Blue_Bridge
文章平均质量分 89
深海鱼肝油ya
在读盐焗生,北境第一深情,吉他爱好者。
展开
-
任意进制下的可逆素数(应该是大学敲的最后一道算法题,爷青结。)
任意进制下的可逆素数是这样定义的:它自身是一个素数,当它转换为任意进制之后,把所有数字逆序,得到的新数字的值仍然是一个素数。比如,73在十进制下是一个素数,它在十进制下的逆37也是一个素数,那就称它是十进制下是一个可逆素数。输入格式:输入有多行,每行包括两个正整数,数N以及基R,其中N<100000, 1<D<=10, 遇到负数则退出。输出格式:对每一行输入,如果是可逆素数,则输出“Yes”,否则输出“No”输入样例:在这里给出一组输入。例如:73 1023原创 2020-10-17 14:06:37 · 2030 阅读 · 0 评论 -
Winter Vacation Training(5st Week)
7-2 寻找大富翁 (25分)胡润研究院的调查显示,截至2017年底,中国个人资产超过1亿元的高净值人群达15万人。假设给出N个人的个人资产值,请快速找出资产排前M位的大富翁。输入格式:输入首先给出两个正整数N(≤106)和M(≤10),其中N为总人数,M为需要找出的大富翁数;接下来一行给出N个人的个人资产值,以百万元为单位,为不超过长整型范围的整数。数字间以空格分隔。输出格...原创 2020-02-02 16:40:44 · 1828 阅读 · 3 评论 -
Winter Vacation Training(3st Week)
最大子列和问题 (20分)给定K个整数组成的序列{ N1, N2, ..., NK },“连续子列”被定义为{ Ni, Ni+1, ..., Nj },其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。例如给定序列{ -2, 11, -4, 13, -5, -2 },其连续子列{ 11, -4, 13 }有最大的和20。现要求你编写...原创 2020-01-15 16:23:16 · 1610 阅读 · 0 评论 -
最佳调度问题
今天在车上闲着无聊看了看最佳调度问题,reference这篇文章思路:理解了解空间树其实就是一个子集树,如果任务数为n,机器数为k,因为每个任务都有k个可能(不知道要在哪个机器上完成此任务),所以是一棵深度为n的完全k叉树,再进行剪枝优化就OK了。先对各任务时间进行排序,再dfs会加快搜索时间,因为当时间大于当前最优时间时就剪枝了,所以从大到小会有利于这个。题目假设有n(n&l...原创 2020-01-03 16:23:51 · 1938 阅读 · 0 评论 -
Winter Vacation Training(1st Week)
7-1 子集和问题 (50分)设集合S={x1,x2,…,xn}是一个正整数集合,c是一个正整数,子集和问题判定是否存在S的一个子集S1,使S1中的元素之和为c。试设计一个解子集和问题的回溯法。输入格式:输入数据第1行有2个正整数n和c,n表示S的大小,c是子集和的目标值。接下来的1行中,有n个正整数,表示集合S中的元素。 是子集和的目标值。接下来的1 行中,有n个正整数,表示集合S中...原创 2020-01-01 20:54:27 · 1662 阅读 · 1 评论 -
2018蓝桥杯javaB组题解
感觉第九届比第十届的题南不少。。。我太南了第一题标题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。思路:利用excel或者计算器或者直接手算说一下excel的算法:好像必须紧挨着的两列,反正我隔了一列出错了。。直接先将日期输在第一列,然后第二列利用DATE和YE...原创 2019-12-30 23:05:23 · 1528 阅读 · 0 评论 -
2020蓝桥杯校赛部分题解
n对括号的合法括号序列数量问题描述由1对括号,可以组成一种合法括号序列: ()。由2对括号,可以组成两种合法括号序列: ()(),(())。由4对括号组成的合法括号序列一共有多少种?答案提交这是一道结果填空的题,你只需要算出结果后提交即可。本题的多余的内容将无法得分。思路:括号对的合法序列,已经插入的左括号的数目大于等于右括号的数目。(1)插入左括号:剩余的括号中,还有左括...原创 2019-12-07 13:31:54 · 4882 阅读 · 0 评论 -
Java的split()函数用多个不同符号分割
首先要明白split方法的参数含义:splitpublic String[] split(String regex)根据给定的正则表达式的匹配来拆分此字符串。然后就要明确正则表达式的含义了:\\s表示 空格,回车,换行等空白符,eg:用split(" ")和split("\\s")是一个效果,按一个空格来分割+号表示一个或多个的意思,所以split("\\s+") 这个就能实现你的 多个...原创 2019-11-26 17:17:48 · 21007 阅读 · 4 评论 -
2019蓝桥杯JavaB组部分题解
试题 G: 外卖店优先级 时间限制: 1.0s 内存限制: 512.0MB 本题总分:20 分 【问题描述】 “饱了么”外卖系统中维护着 N 家外卖店,编号 1 ∼ N。每家外卖店都有 一个优先级,初始时 (0 时刻) 优先级都为 0。 每经过 1 个时间单位,如果外卖店没有订单,则优先级会减少 1,最低减 到 0;而如果外卖店有订单,则优先级不减反加,每有一单优先...原创 2019-11-24 12:48:10 · 1758 阅读 · 2 评论 -
两点间有路径吗?(基于重量的并查集)
对于给定的无向图以及图中的两个顶点,计算两个顶点所在的连通分量中的顶点数,并且判断这两个顶点之间是否有路径。输入格式:第一行是不超过20的正整数N,表示图有N个顶点,顶点的编号即0~N-1;接下来N行,是N*N的邻接矩阵,矩阵的元素间用空格分隔;最后一行是用空格隔开的两个顶点编号v和w输出格式:第一行输出v所在的连通分量的顶点数第二行输出w所在的连通分量的顶点数第三...原创 2019-11-19 13:00:59 · 2253 阅读 · 1 评论 -
合根植物(并查集)
学习并查集戳这里问题描述w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<...原创 2019-11-17 22:00:45 · 1739 阅读 · 0 评论 -
0/1背包(剪枝)
做题的时候最后两个测试点超时我就剪枝了,不知道为什么耗时竟然更长了!?题目:给定n(n<=100)种物品和一个背包。物品i的重量是wi,价值为vi,背包的容量为C(C<=1000)。问:应如何选择装入背包中的物品,使得装入背包中物品的总价值最大? 在选择装入背包的物品时,对每种物品i只有两个选择:装入或不装入。不能将物品i装入多次,也不能只装入部分物品i。输入格式:共有...原创 2019-11-02 13:11:21 · 1064 阅读 · 0 评论 -
Java快速输入输出
有时候(eg:做算法题时)为了提高速度可以用输入输出流,比Scanner要快!示例代码:import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStrea...原创 2019-11-01 18:18:45 · 997 阅读 · 0 评论 -
第 k 大的整数
题目:求 n 个整数中第 k(1≤k≤n) 大的整数。输入格式n 和 kn 个整数输出格式第 k 大的整数输入样例10 32 5 -1 9 25 0 12 4 -7 12输出样例12思路:题目没有给出明确的数据量(数据大小和范围),这道题我没提交测试,所以只知道样例对了,但为了防止超时,我用数组来代替排序,因为当数据量大时排序必然超时...原创 2019-10-26 14:02:41 · 2166 阅读 · 1 评论 -
阿尔法乘积
注意:当一个char类型的数字转换成int型的数字时,转换成的是ASCII码值,所以要减去48,eg:char a='4';int m=(int)a;//输出m为52,即ASCII码值int n=(int)a-48; //输出n为4int是32bit的,long是64bit的int 4字节 最小值是 -2,147,483,648(-2^31);最大值是 2,1...原创 2019-10-25 17:44:39 · 4961 阅读 · 2 评论 -
转圈游戏(2013慈溪)
注意: 1.PrintStream ps = new PrintStream("e:/log.txt"); //新建一个打印对象System.setOut(ps); //重定向屏幕输出到ps对象中2. PrintStream out = System.out;System.setOut(out); //这里又定位到屏幕输出System.out.println题目:输入...原创 2019-10-25 16:49:59 · 2212 阅读 · 0 评论 -
(递归)求最大元素值
写了得有一会,注意审题!第一个max(1,3)=3和后面的不太容易关联,所以先在递归里分情况输出了题目:n个元素的数组的最大元素可以用递归计算出来。 定义方法:int max(int x, int y) 它返回x和y两个整数中的较大值。 试用递归编写方法:int arraymax(int[] a, int n) 它使用递归返回数组a的最大元素值。 终止条件:n==2 递归步骤:arra...原创 2019-10-24 18:27:36 · 3599 阅读 · 0 评论 -
二分查找法
注意二分查找里面直接用while就行,递归栈溢出!题目:输入n值(1<=n<=1000)、n个非降序排列的整数以及要查找的数x,使用二分查找算法查找x,输出x所在的下标(0~n-1)及比较次数。若x不存在,输出-1和比较次数。输入格式:输入共三行: 第一行是n值; 第二行是n个整数; 第三行是x值。输出格式:输出x所在的下标(0~n-1)及比较次数。若x不存在,...原创 2019-10-24 18:19:52 · 3257 阅读 · 0 评论 -
(递归)求最大公约数
能不用Math库里的函数就不用,速度太慢了,运行超时!!!使用辗转相除法和递归求两个正整数m和n的最大公约数。输入格式:输入两个正整数m,n。输出格式:按要求输出辗转相除过程及最终结果,输出结果之间空格分隔。输入样例:21 35输出样例:gcd(21,35) gcd(35,21) gcd(21,14) gcd(14,7) 7代码如下:impor...原创 2019-10-24 18:13:44 · 1490 阅读 · 0 评论 -
(待补)(递归) 装配线与工作站
某汽⻋公司在有多条装配线的⼯⼚内⽣产汽⻋,⼀个汽⻋底盘在进⼊每⼀条装配线后,在每个⼯作站会在汽⻋底盘上安装不同的部件,最后完成的汽⻋从装配线的末端离开。 每⼀条装配线上都有 n 个⼯作站,装配线i的第 j 个⼯作站 用S(i,j)表示, 在两条装配线相同位置的⼯作站执⾏相同的功能,但由于⼯作站是在不同的时间建造的,并且采⽤了不同的技术,因此,每个⼯作站上完成装配所需要的时间也不相同。 正常情况下,...原创 2019-10-24 13:18:09 · 1002 阅读 · 0 评论 -
(待补)(递归)九连环问题*
九连环是一种流传于山西省的传统民间的智力玩具,由九个圆环相连成串,以解开为胜。九连环的九个环,一环扣一环地套在钗上。除了第 1 号环可以随时装上或卸下以外,其它环装上或卸下的条件是:在它的前面仅有紧靠它那一个环在钗上。即:当第 1 ~ i−2 号环都不在钗上,第 i−1 号环在钗上,这时可以装上或卸下第 i 号环。输入格式环数 操作(U表示装上, D表示卸下)输出格式...原创 2019-10-24 13:09:36 · 1513 阅读 · 0 评论 -
(递归)不能用循环是一件多么悲伤的事
注意:递归一定要有跳出条件,否则很容易栈溢出!!!下面是一个算到10的加法表:0 + 0 = 0 0 + 1 = 1 0 + 2 = 2 0 + 3 = 3 0 + 4 = 4 0 + 5 = 5 0 + 6 = 6 0 + 7 = 7 0 + 8 = 8 0 + 9 = 9 0 +10 = 10 1 + 0 = 1 1 + 1 = 2 1 + 2 = 3 ...原创 2019-10-24 13:02:29 · 2150 阅读 · 0 评论 -
求迷宫最短通道
题目:递归求解迷宫最短通道的总步长。输入一个迷宫,求从入口通向出口的可行路径中最短的路径长度。为简化问题,迷宫用二维数组 int maze[10][10]来存储障碍物的分布,假设迷宫的横向和纵向尺寸的大小是一样的,并由程序运行读入, 若读入迷宫大小的值是n(3<n<=10),则该迷宫横向或纵向尺寸都是n,规定迷宫最外面的一圈是障碍物,迷宫的入口是maze[1][1],出口是maze...原创 2019-10-23 14:34:45 · 2629 阅读 · 0 评论 -
(递归)打死我也不说!
注意总结:nextInt()只读取数值,回车"\n"不会读取,nextLine()会读取"\n",并结束梗:最好的密电码是啥? 是“打死我也不说!”这样,即使帮我们传送密电码的猪队友被敌人抓住严刑拷打,我们也不用担心泄露秘密。现在稍微改进一下,我们把“打死我也不说”的拼音首字母“DSWYBS”藏在一个矩阵里,而代表“打”的字母D和代表“说”的字母S所在的行列下标之和即是密码。...原创 2019-10-23 11:46:15 · 1855 阅读 · 4 评论 -
最快求最小值和次小值
对代码的疑问:如果输入的某个数大于1000000怎么办?代码中有详细解释!但代码只适用于非负整数,有局限性。本题目要求读入n个整数,要求用最少的比较次数,输出它们的最小值和次小值。例如,对于12 13 1 10 34 1这6个数,最小值为1,次小值为10。输入格式:输入有两行。第一行为整数个数n(≤1 000 000),第二行给出n个以空格分隔的整数。输出格式:对每一组...原创 2019-10-22 22:11:33 · 4312 阅读 · 0 评论 -
公历类GregorianCalendar和日期类Date
自动导包:Ctrl+Shift+O 使用公历类 GregorianCalendar,公历类 GregorianCalendar有方法setTimeInMillis(long);可以用它来设置从1970年1月1日算起的一个特定时间。请编程从键盘输入一个长整型的值,然后输出对应的年、月和日。例如输入:1234567898765,输出:2009-1-14输入格式:输入1234567898...原创 2019-10-18 21:10:29 · 1415 阅读 · 0 评论 -
求素数个数
求素数的个数。本题要求编写一个程序,求1~n的素数个数。 要求至少给出两种解法,对于相同的n,给出这两种解法的结果,通过相关数据进行测试,目的是通过对比同一问题不同解法的绝对执行时间体会如何设计“好”的算法。输入格式:输入在一行中给出1个整数n(<= 10 000 000)。输出格式:对每一组输入,在一行中输出1~n的素数个数。输入样例1:5输出样例1:...原创 2019-10-18 20:40:03 · 7204 阅读 · 0 评论 -
阶乘的位数(Big Number)
In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are given a number, you h...原创 2019-10-18 20:20:43 · 2045 阅读 · 1 评论 -
求最大公约数(辗转相除法)
辗转相除法求最大公约数的原理:因为对任意同时整除a和b的数u,有a=su,b=tu,它也能整除r,因为r=a-bq=su-qtu=(s-qt)u。(r=a%b)反过来每一个整除b和r的整数v,有 b=sv , r=tv,它也能整除a,因为a=bq+r=svq+tv=(sq+t)v。因此a和b的每一个公因子同时也是b和r的一个公因子,反之亦然。这样由于a和b的全体公因子集合与b和r的...原创 2019-10-13 14:32:42 · 914 阅读 · 0 评论