金砖赛后反思 + 十三届蓝桥杯JavaC组试题 D: 求和思路及python解

博主分享了在金砖国奖机器学习与大数据应用赛中的经历,分析了在A模块的大数据技术、B模块的数据分析及可视化、C模块的机器学习上的表现。由于时间管理和操作失误,导致了分数损失,尤其是B模块的数据分析代码丢失。博主强调了比赛中的时间安排、选手须知的重要性,并从错误中吸取教训,提出要将挫折转化为进步的动力。同时,博主还分享了一道蓝桥杯的题目解决方案,展示了数论解决方法。
摘要由CSDN通过智能技术生成

先对今天的金砖国奖机器学习与大数据应用赛项复盘:

        线上比赛,挺累的....两位指导老师付出了太多太多努力.....这次失误我实在过意不去.....

一开始看到题目时:我第一反应:丢!这么!?

        先从A模块来看:大数据技术,考到的知识点包含hadoop的基础操作,linux的基本命令(那些压缩解压呀、查ip呀、安装某一组建呀)、hdfs的语法、至于其他像Flume监控某一文件这些,因为笔者不是大数据专业,也没有接触过,所以跳过,一个不是大数据专业的学生,都能在A模块中拿到20%左右的分;(注:得分是做一个任务点可以得到1分,分任务点完成)

        接下来是B模块:数据分析及可视化,是笔者擅长的,可刚刚好就是因为太过于紧张,在基于pyecharts画旋风图的时候忘记了参数,其他两个图是数据方面暂时卡住了,因为看着时间越来越少还有C模块没做,紧张了.....于是我忘记了老师发在群里的选手须知,我当时脑袋里只剩下:能不能先做C模块?反正就差三个图就满分了....

        于是我举手询问裁判:我能否先做C模块再回来B。

        裁判的回答:嗯好,可以切换,但是你要自己注意时间!

        于是我开始做机器学习C模块,一路非常顺畅,基本上跟去年的题目出了背景不同其他藏着的知识点考察都一样,都是基于特征工程和预处理,今年是直接简化了,数据都是PCA降维好的,选的都是主成分,所以从分析量来说这里就已经简化了,而开了一扇窗的结果就是门被关掉了:样本数据量很大,特征很多,样本分布不均衡,需要考虑如何过采样;可是看着只剩下一个多小时的时间,我的手开始发抖(紧张ed)....,想想待会模型的调优会需要很多很多时间,而我已经在可视化上面花了太多时间了然后此刻还有B模块那边三个图没画.....

        做完特征工程分析和模型训练后,时间已经很少了,基本上不可能完成贪心搜索优参了。平时笔者做类似这种分类问题时,最后优化完参数+特征处理后模型精确度都可以达到92%及以上(经过学习曲线验证)。而此刻的我只能随便扔了一套平时常用的参数上去(我知道肯定是不能行的,但是在那种状态下,总比什么都不做强),可因为样本太大,又不得不降低模型复杂度.....一降,再加上交叉验证也只能省则省,精确度就下去了,没办法了,就让他跑吧.... 跑出来的模型勉强算凑合吧... 算了一下 只能拿十几二十分吧,这个我平时最擅长的模块 只拿到了机器学习模块C 50%不到的分,....不甘心,唉算了....怪自己没有控制好时间,以后,千万不能恋题!不能恋题!不能恋题!

        回去做B模块吧,时间不够了.... 不点不知道,一点吓一跳:所有代码全没了!我马上呼叫裁判:您不是说可以自由切换吗?为什么我写的全没了?我现在应该怎么操作?

裁判:不应该啊,你先稍等,我问一下;

        时间过去了7分钟左右....那一刻我真的度秒如年,本来时间就不多了,再想想即将满分的数据分析代码.....可我确实不敢乱动,生怕下一秒都没了...那一刻,只剩下紧张、焦虑....

        终于,裁判回了..

        裁判:这不应该啊...你会不会点错了, 我让技术给你解决;

        技术:这个是不可以切换模块做题的,会清空的!

        裁判:这个我不知道了,裁判长说这属于你的操作问题,选手须知你不看的吗?

        www.... (我的问题在于:选手须知,我真忘记了....)

          那一刻犹如晴空霹雳,我想着做完C回来B做完再一起写ID,却忘记了退出就等于没了。其实跟计算机等级考试类似。但区别是在于等级考试是退出后就按钮会灰掉,这个比赛是:你还可以进入的,你要进就是0分!选手须知有声明,但是因为太多了,在备赛的时候根本就顾及不了那么多,还有就是习惯了声明的东西都是很基础的可有可无所以我就没多在意,这是我的致命错误!!

        结果怎么样呢,结果就是没了30-40分...加上由于自己时间安排不妥当,机器学习最后的模型也不好,所以整体上损失惨重,有一说一,现在如果有数据集我真的很想现在把他做完.....

       因为有难度导致做不出并不可怕,可怕的是简单的题目由于失误丢分,这很不该..

 

        很不甘心....不过人总要学会迎难而上,都说没有挫折的人生是不完美的,只有学会如何将挫折变成垫脚石,才能未来的自己走的更稳、更远!

 

        就把这份气放在做题上面把,保证写完这一道题解,我就去睡觉了!倒头就睡着那种。

 

        这道题是当时蓝桥杯考完时,听JavaC组的朋友提到的一道题目:求和,他用的是暴力,后来我研究了一下,可以用数论解决;这段时间在准备这个金砖比赛,也没好好去写,现在来写吧...

原题:十三届蓝桥杯JavaC组D题:求和

 

dfc6322d0f3c44ca8e2e373c23a3813a.png

 

思路草稿(手写)

39bb9d23449248a1aab0d632be933f23.jpeg

PS:若读者有思路不妨在评论区共同探讨,感激不尽!码龄尚浅,请指教!

 

代码:

n = int(input())
ls = [int(i) for i in input().split()]
res = 0  # 最终结果
sm = 0   # 求和
for i in range(n):
    res += ls[i] * sm
    sm += ls[i]
print(res)

 

评分:b245cfd736a5453d8004e42746da0cdc.png

 

最后:

        虽然此时此刻真的已经很累了也很困了,从早上六点起床收拾然后到教室准备比赛到晚上五点结束比赛、做方思写题写日记到十点 这一天里,中间虽然老师帮我准备了太多太多好吃的了(太感谢我最温柔最贴心的两位老师了),可笔者都没心思停下来吃.......别看虽然有八个小时的时间做题,但是三个模块安排完其实根本做不完(有精心准备过的另当别论,笔者准备的时间很少)。不过,今天的可视化考得真的很有技术含量,做的真的很爽.....代价就是时间....

 

        总结:

                1:时间合理安排真的很重要,不过在这种比赛中,“能做的先做”概念不适用;

                2:考试/比赛前不要一味备赛备考,先看并牢记选手须知;

                3:合理安排时间;

                4:谨记容易的题目比细心,困难的题目比水平!

 

        希望读者一定要记住!不是任何时候都是能做先做,要看看是否能分模块,要先阅读并牢记选手须知!!这次笔者败得很不应该....希望能成为前车之鉴,让大家以后避免踩此类坑!

 

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值