第七届蓝桥杯省赛总结

我也算是第一次为考试写总结吧,主要是的确很看重这次比赛,这次的题。。说实话不难,除了最后两道可能得花点时间,其他的题细心一点做对其实是可以的。
       刚进考场的时候,就看到我旁边的小伙子在键盘上快速的敲打着,我看了一下,好像是算法吧,感觉瞬间就有种紧张感,这时离比赛开始还有5分钟左右吧,因为来到赛点我和我们学院工作室的师兄们为了买瓶水浪费了十几分钟的时间,我貌似都是最后一个进的考场,进来了我还以为马上考试了,然后手忙脚乱的调试编译器,检查设备。后面考试因为系统时间误差居然考试计时5分钟都没法下载考卷,好不容易可以下载了,结果监考老师也不知道解压密码,又耽误了好久(不过好像后面给我们延长了一点时间,还好,因为后面发生了一点意外。。),然后我赶紧开始做题,第一题是什么小明答题来着,就是答对硬币翻倍,打错硬币减少555,然后。。我就手算啊,保险嘛,算出好像是58947,然后下一题,是什么煤球数目的题,求第100层共有多少个煤球。。好嘛不能手算了我就开始写,不过我这木脑袋,知道规律了但就是有点慢热,花了半个小时才写出来171700,然后下一题,平方怪圈,就是不断对一个数做同样的操作,知道它变成1,然后我写了一下等于145,有点不放心,带了几个数验算,的确是145,继续看题,是叫拼算式,我想了一下,这不是典型的全排列嘛,刚开始做我忽略了int/int会舍去余数,明显和题中给出的样例不符,然后又赶紧改啊改,后面算出等于261,因为我的全排列里会有重复的算式,每个算式都重复9次,那么得出答案261/9=29。然后的题顺序记不住了,一道是摇色子,代码填空,也算是简单到了极点,i==j+k吧,后面就是一个什么分小组,这个题刚碰到没思路啊,想想应该是全排列,但看这代码不像啊,想了半天就跳过去了,(后来后面的题做的差不多了又返回来做,想了想这方法里传了S字符串没用啊,好像有个方法也没用啊,好像方法里的参数i,j,k都没用过啊,代码粘到eclipse,反复探究,验证,得出结果 s+" "+(char)(i+'A')+(char)(j+'A')+(char)(k+'A')+" "+remain(a)。然后下一个搭积木什么的,全排列,算简单吧,结果多少不记得了(不过博主回来重新写了一遍,得出的答案自己完全没有印象。。就连网上的768也没有印象。。。现在就指望题出来自己看着题再做了。。这题挺简单可不能错啊大哭)再然后下一题是冰雹数(这里有个小插曲,我一直以为是求输入的N的值对应的值冲到的最高点,一直到比赛15分钟还这样认为),没花多久就写了出来,检查代码粘到提交区,就直接看9题去了,9题是四平方和,这题我也想用全排列写,但想想还是不行,因为四个数是可以重复的,想了半天没办法,先用暴力,同时因为只需要输出一个,让程序一找到符合的就输出然后程序结束,想想肯定会超时了但没办法,能拿多少是多少吧,现在离考试结束还剩30分钟了,我还想看看10题,叫密码脱落,主要是给个字符串,求最少补充几次可以变回镜像字符串,(主要是博主第一次参赛。前面做题比较谨慎拖了时间)想了10分钟没什么思路,就检查答案去了,检查到冰雹数才发现题意理解错了,是求不大于N的值一直到N中所有点冲到的最高点,我就说评测数据怎么对不上。。赶紧改啊,但离考试结束也只有10分钟了,我心里想着这么简单如果就这样错了我恐怕是遗憾惨了,但人可能越紧张越迟缓,我居然因为改了代码陷入了死循环,然后离考试结束也只有5分钟了。我那段时间简直都可以听到自己的心跳,当我最无奈的时候,监考老师突然说还有15分钟结束考试,我瞬间满血复活,惊喜啊,然后我重新构思,冷静下来,终于发现一个地方变量名字多写一个字母(我考试变量名乱命名的,什么a,aa,ad,dd之类的,看来得改啊!),改过来发现对了,评测数据都可以正常通过,我整个人瞬间就好了,绝境逢生啊。再看考试时间。还有3分钟,我又赶紧检查了提交区的代码是否规范。直到考试结束。。
       走出考场,感觉心情瞬间好了许多,虽然参赛前反复学的 时间计算,动态规划 的算法都没怎么用上,10题应该是可以做,但时间拖得太慢了以至于没时间做。。但是也算是尽量做到了最好吧。。也学习到冷静沉着才是面对困难的正确法则,算是不枉此行。

### 关于第七届蓝桥杯 Java 的真题及解答 以下是关于第七届蓝桥杯 Java 相关的内容解析以及可能涉及的题目类型和解法。 #### 一、背景介绍 蓝桥杯是一项面向全国高校学生的科技竞活动,旨在推动软件开发技术的发展。其中,Java 是参者常用的语言之一。对于第七届蓝桥杯 Java 类别的题目,通常会覆盖算法基础、数据结构应用等内容[^1]。 --- #### 二、典型题目分析与代码实现 ##### 题目示例:大数运算 在某些年份的比中,可能会考察 `BigInteger` 或其他高级类库的应用。例如: **问题描述** 计算 \( (20^{22} \mod 7) + 6 \),并输出结果。 **解决方案** 此问题可以通过 Java 中的大整数类 `BigInteger` 来解决。具体代码如下所示: ```java import java.math.BigInteger; public class Main { public static void main(String[] args) { BigInteger base = new BigInteger("20"); BigInteger exponent = BigInteger.valueOf(22); BigInteger modulus = BigInteger.valueOf(7); // 计算幂次取模的结果 BigInteger resultMod = base.modPow(exponent, modulus); // 加上常数值6 BigInteger finalResult = resultMod.add(BigInteger.valueOf(6)); System.out.println(finalResult); } } ``` 上述代码实现了指数运算后的取模操作,并最终加上固定值 6 输出结果[^2]。 --- ##### 另一类常见题目:字符串处理 这类题目主要测试选手对字符串的操作能力,比如统计字符频率或者判断回文串等。 **问题描述** 给定一个字符串,求其是否为回文串(正读反读相同)。如果是,则返回 true;否则返回 false。 **解决方案** ```java public class PalindromeChecker { public static boolean isPalindrome(String s) { int left = 0; int right = s.length() - 1; while (left < right) { if (s.charAt(left) != s.charAt(right)) { return false; } left++; right--; } return true; } public static void main(String[] args) { String testString = "level"; System.out.println(isPalindrome(testString)); } } ``` 该程序通过双指针方法逐一比较首尾字符来验证输入字符串是否满足条件。 --- #### 三、总结说明 以上仅列举了部分类型的经典习题及其对应的编程技巧。实际比中的难度等级较高,建议多加练习历年真题集锦以提升实战水平。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值