比赛分享——蓝桥杯

比赛介绍

相信大家或多或少都听说过“蓝桥杯”这个比赛,这是一个为推动软件开发技术的发展,促进软件专业技术人才培养,向软件行业输送具有创新能力和实践能力的高端人才,提升高校毕业生的就业竞争力,全面推动行业发展及人才培养进程,由工业和信息化部人才交流中心特举办的“全国软件专业人才设计与创业大赛”。
在这里插入图片描述

到现在为止,这个比赛已经举办了整整十届,具有一定的含金量。不过,拿到一个省奖相对于其他编程比赛来说是比较轻松的。
我身为第十届蓝桥杯参与者,同时也是我们学校ACM队的队长来给大家分享一些在比赛前的准备,供大家参考。

比赛注意事项

对于一场比赛来说,首要任务便是了解清楚比赛的基本规则。在这里就简单的描述几条比较关键的信息,其他的细节大家可以前往蓝桥杯官网查看。

1、比赛项目

蓝桥杯分为团体赛和个人赛两个比赛项目,个人赛编程方面的又分为c/c++和java两种语言的比赛,其中又设立了本科A组、本科B组和高职高专组三个组别,难度也依次递减。即将举办的第十一届新加入了python组,不过它并没有进行详细的分组。而相对来说,python入门远比c++和java更为容易。因此,我认为本次第十一届的蓝桥杯python组很有可能出现大神打架的情况,同时参赛人数的增多也会导致获奖人数的增多。算是有弊也有利吧。
在之前的三个组别中,由于学历的限制,咱们只能在本科的两个组别中进行选择,而A组据说是985/211学校的分组,应该是一些高手大牛比拼的平台,因此建议初学者通过B组相对简单的比赛来磨练自己的参赛技巧,提高自己的编程能力。

2、开发环境

原有的c++和JAVA还是固定不变:
在这里插入图片描述
这还算是必有比较舒服的编程环境了,但是新开的python就比较艰难了,使用的是python自带的IDLE,而不是集成的编辑器,需要参加这一类比赛的选手提早适应自带的IDLE编辑器了。
在这里插入图片描述

之所以单独拿出这一条规则来说,是希望大家能提前下载相应的开发环境进行熟悉,这样不至于换了一个开发环境之后没有办法进行程序校正。
除此之外,相应的chm(编译的HTML帮助文件)也是编程过程中可以利用的东西,里面包含了一些环境的内置库的说明以及一些函数的使用方法,甚至连数据结构一些说明也能在其中找到。如果能够善加利用成绩会有一个十分显著的提升。
不过,在python的规则中并没有说明是否有帮助文件,所以参加的同学们要做好准备,提前熟悉一些python库,防止到时候没有参考文件无法进行编程,或者引用错误文件导致程序无法使用。

赛前练习

接着,我来介绍一下怎么进行赛前练习。

1、基础准备

首先,最基础的是要学习好数据结构和一些基础的算法,这样在遇到类似的题的时候可以很快找到相应答案。

2、练习平台

其次,蓝桥杯自己的官网上有相应的练习系统,可以直接从基础的入门训练开始熟悉编程。当然,这上面的提都是比较基础的题,后续的还有不少被学校买下来让学生进行训练的VIP题可以做。
在这里插入图片描述
除此之外,像蓝桥杯这样的编程比赛并不少见,比如说:ACM国际大学生程序设计竞赛。这样的比赛对于国内的顶尖高校也是具有不小的吸引力。不少国内的名校都有相应的平台来进行编程训练。
在这里插入图片描述
但是,相对来说,这些名校的OJ系统都是针对级别更高的ACM竞赛,题目不仅更加困难,题干描述也大多是英文的,可以说是编程进阶版的训练平台。

3、学习论坛

除了练习系统,还可以经常去浏览一些和计算机相关的论坛,我经常访问的就有像CSDN,吾爱破解,51CTO等网站,这些都可以搜索到不少珍贵的编程学习资料与大多数OJ平台和蓝桥官网的题目的解析。
当然这些网站中我比较推荐CSDN,这个论坛不仅可以了解到各种编程知识,也有一些不错的编程训练方法,更可以了解到不少行业前沿的信息,对于我们未来的发展也有一定的好处。

在这里插入图片描述

4、真题

大家可以在蓝桥杯官网或者百度上寻找往届的题来试试手,也可以在计蒜客这个国内比较知名的编程练习网上找到往届的蓝桥杯的题进行模拟。
在这里插入图片描述

总结

最后,需要强调一点,以上的方法都是提升编程能力的一些途径。想要有确实的进步,最主要的还是要大家多去打代码。当你打的代码多了,遇到的问题就多了,解决问题的方法就随之增多,同时你看待题目的思考方式都会发生变化。只有这样你才能够让自己的编程水平获得实质的提升,但相对的你也需要经常记录自己的学习笔记,只有这样你不会在回头观望自己学习历程时不会感觉到空虚,能够找到自己已经学会的东西。

希望这篇文章能够让大家有所收获,最后都能取得一个好成绩。

  • 17
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
在Java中,带分数可以用分数类来表示。下面是一个简单的带分数类的实现: ```java public class Fraction { private int integer; private int numerator; private int denominator; public Fraction(int integer, int numerator, int denominator) { this.integer = integer; this.numerator = numerator; this.denominator = denominator; simplify(); } private void simplify() { if (numerator < 0 && denominator < 0) { numerator = -numerator; denominator = -denominator; } if (denominator < 0) { numerator = -numerator; denominator = -denominator; } if (integer < 0 && numerator > 0) { numerator = -numerator; } if (integer < 0 && numerator == 0) { integer = -integer; } if (numerator >= denominator) { integer += numerator / denominator; numerator = numerator % denominator; } int gcd = gcd(numerator, denominator); numerator /= gcd; denominator /= gcd; } private int gcd(int a, int b) { if (b == 0) { return a; } return gcd(b, a % b); } public Fraction add(Fraction other) { int newNumerator = this.numerator * other.denominator + other.numerator * this.denominator; int newDenominator = this.denominator * other.denominator; int newInteger = this.integer + other.integer; return new Fraction(newInteger, newNumerator, newDenominator); } public String toString() { if (integer == 0 && numerator == 0) { return "0"; } String result = ""; if (integer != 0) { result += integer; if (numerator != 0) { result += "_"; } } if (numerator != 0) { result += numerator + "/" + denominator; } return result; } } ``` 这个带分数类实现了以下功能: - 构造函数可以根据整数部分、分子和分母创建一个带分数对象。 - simplify() 方法可以将带分数对象化简,如将负号移到分子上、将整数部分和真分数部分合并、将分数化简等。 - add() 方法可以将两个带分数对象相加,返回一个新的带分数对象。 - toString() 方法可以将带分数对象转换为字符串形式。 这个类实现了带分数的加法操作,可以参考这个类来实现其他的运算操作。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值