运行自己的程序,把样例输入复制进去,若能得到和样例输出一样的结果,那么你的程序就很有可能是正确的(因为要考虑运行时间限制,所以很多时候不一定能通过所有测试样例,需要考虑时间复杂度),提交自己的代码后,查看结果就能知道是否完全正确。
1.含金量/认可度:
蓝桥杯含金量虽然比不上ACM,但在我国各大高校的IT竞赛中知名度很高。很多985,211的顶尖学子都参加了蓝桥杯。并且随着参赛选手逐年上涨,人们对它的认可度也越来越高,十三届的参赛选手达到了13万。
2.容易拿奖:
虽然参赛人数越来越多,但是它的奖项是按比例来算的,参赛人数增加,获奖人数也会随之增加。省赛一二三等奖占总人数的比例分别是10%、20%、30%,国赛一二三等奖占总人数的比例分别是5%、20%、35%。获奖率为60%,只要你不摆烂,省赛拿奖是绝对没问题的。
3.对小白友好:
因为参赛选手中有很多985,211的高手,所以主办方将选手分了组,避免小白被高手碾压。分组情况如下:
研究生组(所有研究生一组)、A组(985,211的大学生)、B组(双非本科大学生)、C组(专科大学生)。可以向上报名,但不能向下报名。985,211的学生不能报名B、C组,但双非本科学生可以报A、B组,专科学生可以报A、B、C组
4.容易得分:
蓝桥杯的赛制为OI赛制,一个题能过多少的样例,就得这部分得分,比如过了50%的样例,这个题总分10分,那么就可以得5分。而ACM的OA赛制就比较残酷了,一个题必须完全正确(AC),通过所有样例才能得分。
5.锻炼算法能力:
目前的绝大部分公司企业招聘都对算法有一定的要求。为什么这么看重算法,我想很多同学大一学理论就遇到过这样一句话:
程序=算法+数据结构
。可见算法对于程序员来说多么重要。通过蓝桥杯这个平台,可以锻炼我们的算法思维,等算法思维灵活了,再去挑战ACM也不是不可能的。
1.编程语言的选择
(Java、C/C++、Python):
C组卧虎藏龙,因为很多算法大佬和acmer都喜欢用C/C++,因为它比较简洁,一般来说也是接触到的第一门编程语言。Java和Python组的话,总体水平要低于C组的。可以优先考虑Java、Python。我个人推荐Java组,当然,优先考虑自己最熟悉的编程语言最好。
(PS:还有web组,web组主要考查的是写代码实现页面效果,不是考查算法,主攻前端的同学可以考虑参加web组)
2.知识点的学习:
既然知道了程序=数据结构+算法。那么我们主要学习的知识点就是数据结构和算法了。数据结构至少掌握:
线性表、队列、栈、图
,
树
可以做了解,要明白其基本概念(目标国二以上的还是需要掌握树)。算法的话至少掌握:
排序、查找、递归、分治、动态规划(蓝桥多年考点,重中之重!!!)、贪心、DFS和BFS
。
3.怎么去学:
首先对于没接触过数据结构和算法的同学第一要务就是
系统地学习
,上B站找优质课程来看(黑马、尚硅谷等课程都挺不错的)。切记不要纸上谈兵,该练习的就动手练一练。每学完一章,就可以去刷题网站刷本章知识点的题,加深对知识的理解
对于有基础的同学,可以直接开始刷题,遇到某个题的知识点不太熟悉,就去百度,先巩固知识点,再回过来刷题。
总之,秘诀就是
刷题! 刷题!! 刷题!!!
,刷的题多了,就明白了套路,拿到题就知道考查什么知识点,再套模板,一下子就解决了。(刷题网站有很多:洛谷、AcWing、蓝桥杯题库等)
4.找朋友:
一个人的学习和刷题是非常枯燥的,很容易三天打鱼两天晒网。可以找志同道合的同学或者学长一起。可以交流知识点,也可以讨论自己某一道不会的题。身边实在没有志同道合的朋友的话,可以私聊CSDN的算法大佬,他们一般都有算法交流群或者社区。并且一般也会回私信的,要勇敢才会有故事。
最后谈谈我的蓝桥之路吧。我是大三参加的,大一大二觉得自己菜,不敢参加。到了大三,觉得自己三年下来,技术没学好,什么也不会,必须要参加点比赛给简历增添一丝色彩了,才下定决心参加了十三届蓝桥杯。
因为我有一丢丢算法和数据结构的基础,我主要的准备还是刷题,遇到不会的题就百度,看题解,看不懂题解的知识点就上B站看相关知识点的视频。
刚开始的时候特别煎熬,一两天才能搞懂一道题,看懂题解再自己写一遍加深印象,后面慢慢好了起来,但是效率还是不高,很多题还是得看题解。
零零散散算下来省赛大概准备了一个多月,省赛当天状态特别差,晚上睡不着,4点多才睡,填空题错了一道,总共做了前6道题,编程题有一道全错,其他大部分是暴力得部分分,就祈祷能混个省三。最后收到消息得了省一的时候我都大吃一惊。然后又匆忙准备一个多月备战国赛。
准备国赛期间我就主要刷常考的知识点以及历年真题。结果国赛我也没发挥好,填空一道都没对,编程题做了四五道,也是一道全错,其他得部分分。最后居然还得了国二。
所以小伙伴们不要把蓝桥杯想得太难了,题目确实有一定难度,但是获奖真的超容易。有想法的同学们赶紧准备吧,还有大把的时间。
第十四届蓝桥杯已经开始报名了,很多同学都在纠结到底要不要参加。会不会特别难。我可以很确定地说,真的不难。我学校是双非本科,有的大一、大二的学弟学妹都在十三届蓝桥杯中取得了省一省二,当然最多的是省三。接下来就谈谈我对蓝桥杯的看法。
考试拿分特别注意事项:(为了避免本来能拿满分的题最后只得个四五分的情况,请提交代码前一定要考虑以下几点)
1、题目只有0个或1个输入时的情况,是否需要特殊处理(比如动态规划要注意只有1个的情况,因为没有上一个可以为它计算。)
2、初值确保赋0或赋值,不然生成的随机数可能会使整个代码挂掉
3、考虑题目是否涉及负数
4、考虑题目是否会有进位问题
5、用数据大小的边界值计算时间复杂度,1s的限时,运行次数大概是10的8次方
下图是官方的关于各种数据类型的取值范围
2015年4月11日上午
参加
了一年一次的
蓝桥杯
大赛,考试在上午9点正式开始的,考试共有10道题:有编程大题、数学题和程序填空题等三种类型。
这次考试考的不怎么好,我分析有以下几点原因:
1、数学没有学好。
从上学开始,我的数学都不是很好。可能还有点遗传的因素。
与大家分享
蓝桥杯
已经结束了,对于这次比赛我有些许的遗憾。
1.没有能够获奖让我很恼火,但是未获奖的原因让我悔恨不已,明明猜到了会改革,但是还是没有好好练习。明明知道题很简单,还是没有认真读题。
2.经过一个多月的练习,让我的思维更加清晰,做事更加严谨。感觉非常好。
3.这份迟到的心得也算是让我把这件事放下了,不然心里惦记着还是挺难受的。
4.其实做什么事都没有比细心更重要的了。所以:细心两个字是...
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = Integer.parseInt(scanner.nextLine());
for(int i=0;i<n;i++) {
int n2 =Integer.parseInt(scanner.nextLine());
String[] chStrings = new String[n2];
for(int j=0;j<n2;j++) {
chStrings[j]=scanner.nextLine();
Arrays.sort(chStrings, new Comparator<String>() {
public int compare(String a,String b) {
return (a+b).compareTo(b+a);
System.out.println(String.join("", chStrings)); // 输出结果
[/code]