哈喽,大家好,我是一条~
今天给大家介绍一个可以在大学参加的IT学科竞赛——蓝桥杯。
很多同学都担心校招简历没什么拿得出手的东西,大学时也非常努力,拿了很多比赛证书,比如演讲比赛一等奖,歌唱比赛二等奖,优秀志愿者,到头发现含金量太低,白了少年头,空悲切。
其实问题出在了努力的方向上,面向大学生的比赛实在数不胜数,一条当年还加过比赛群,只有你参加不过来的,没有你想不到的。
针对计算机类的同学,数学建模,电子科技大赛,大创,ACM,蓝桥杯这些都是值得参加的高含金量的比赛,无论是学校加分还是应届招聘,都被广泛认可。
综合认可度,获奖难度,参赛费用考量,一条首推大家参加蓝桥杯。
一块了解一下吧!
官方简介:蓝桥杯全国软件和信息技术专业人才大赛是由工业和信息化部人才交流中心举办的全国性IT学科赛事。共有北京大学、清华大学、上海交通大学等全国1600余所高校参赛,累计参赛人数超过50万人。
2021年,蓝桥杯大赛蝉联入选中国高等教育学会发布的“全国普通高校学科竞赛排行榜”,是高校教育教学改革和创新人才培养的重要竞赛项目。
一条解读:总结归纳为以下优势
综上,从校园到社会,认可度和含金量都很高,值得参加。
我知道看到这已经有同学在担心它的难度了,我就是一双非本科,怎么和清北的学生竞争呀,算了算了。同学,这么想就大错特错了。
蓝桥杯已经帮大家考虑到这个问题了,目前蓝桥杯的大部分竞赛项目都分为研究生、重本、普本、职业院校组别,选择合适的组别参与竞赛,每个选手都有参与感和成就感。
1.参加难度
我们知道有很多比赛是团体参赛,比如数学建模。反正一条是不喜欢团体比赛的,参加了两年的数学建模,最头疼的不是做题而是找队友。
而蓝桥杯以个人为单位参赛这点就很受我的喜爱,成败由我,省去了很多麻烦。
2.获奖难度
总的来说,相比与ACM,蓝桥杯的题目更贴近企业真实需求,难度拿leetcode来说,平均难度对应中等题。
再一个就是蓝桥杯是按比例发奖的,我大学时学长建议我去参加蓝桥杯,国奖不敢说,你平时有所积累,积极备赛刷题,省奖还是稳入囊中的。但近几届的蓝桥杯题目难度已经明显增大,准备参加的同学也决不可掉以轻心。
下面我们可以做几道题体验一下:
2019第十届Java A组蓝桥杯省赛真题
第一题:平方和(5 分)
题目描述
小明对数位中含有 2、0、1、9 的数字很感兴趣,在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574,平方和是 14362。注意,平方和是指将每个数分别平方后求和。
请问,在 1 到 2019 中,所有这样的数的平方和是多少?题目分析
数字比较大,用long,对每个数进行检查,符合条件即加入ans
题目代码
public class lanQiaoBei { public static boolean check(int x){ while(x>0){ if(x%10==2||x%10==0||x%10==1||x%10==9) return true; x/=10; } return false; } public static void main(String[] args) { long ans=0; for(int i=1;i<=2019;i++){ if(check(i)){ ans+=i*i; } } System.out.println(ans); } }
是不是很简单呢!不过,这只是一道5分的小题,俗称打卡题。
我们再看一道第10届的大题,对比一下难度。
2019第十届Java B组蓝桥杯省赛真题
第10题:后缀表达式(25分)
题目描述
给定 N 个加号、M 个减号以及 N + M + 1 个整数 A1, A2, · · · , A**N+M+1,小明想知道在所有由这 N 个加号、M 个减号以及 N + M + 1 个整数凑出的合法的后缀表达式中,结果最大的是哪一个?
请你输出这个最大的结果。
例如使用1 2 3 + -,则 “2 3 + 1 -” 这个后缀表达式结果是 4,是最大的。
输入格式
第一行包含两个整数 N 和 M。
第二行包含 N + M + 1 个整数 A1, A2, · · · , A**N+M+1。
输出格式
输出一个整数,代表答案。
样例输入
1 1
1 2 3
样例输出
4
题目解析
在求解该题时,我们应该清楚一点,后缀表达式与前缀表达式在计算过程中是可以存在括号
()
的。明确这一点后,我们就可以很清楚的找到结果最大的值,此值即为所有数值之和减去最小数值的两倍。
举个例子:
a+b-(c-d-e) = a+b-c+d+e = a+b+c+d+e-2*c
,如果此时c
为a、b、c、d、e
中的最小值,那么此时的a+b-(c-d-e)
显然为a、b、c、d、e
与+、-
各组合结果中的最大结果。题目代码
import java.math.BigInteger; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner input = new Scanner(System.in); int n = input.nextInt();//n个加号 int m = input.nextInt();//m个减号 BigInteger sum = new BigInteger("0");//全部数值之和 BigInteger min = new BigInteger("1000000000");//定义一个最小变量,用于保存数值中最小的那个值 for (int i = 0; i < n+m+1; i++) { BigInteger temp = new BigInteger(input.next()); sum = sum.add(temp);//求和 if(min.compareTo(temp) == 1){ //min > temp,则修改min值 min = temp; } } System.out.println(sum.subtract(min.multiply(new BigInteger("2"))));//全部数值之和减去2倍的最小数值 } }
推荐几个练习的网站:
1.官方练习
大赛练习系统(http://lx.lanqiao.cn/)
蓝桥云课(https://www.lanqiao.cn/)
2.leetcode
https://leetcode-cn.com/problemset/all/
3.一条的每日一题
https://blog.csdn.net/skylibiao/category_10867560.html
进入蓝桥杯官网(https://dasai.lanqiao.cn)即可报名。
最后,祝大家都取得好成绩,为自己的大学添上闪闪发光的一笔,在校招中熠熠生辉!
道阻且长,行则将至。我们下期见!