CSP2019-S2参赛总结 暨 近期学习反思
前言
岁月不居,时节如流。眨眼间,2019的联赛就已经落下帷幕了,回忆这一年的学习,有许许多多的事情想写下来。趁联赛结果还未出来,赶紧写下这篇文章,以记录我这段时间的学习和生活。
“你怎么又在D我……”
——“你怎么天天D我啊**l*y**?”
“我天天只会做这种普及组的大水题”(BBS上赫然出现一道IOI的题目)
——“队爷怎么又在爆切神题了”
“要是我还现役,我就把你的头摁屎坑里”
——“麦老大牛逼!”
"鸭子,快点交份子钱,也就一人三成罢了。"
——“嘎,嘎,嘎,嘎,……”
近期做了什么
2.0 中考前后
中考前签约后大概有一个月左右每怎么上过课,和DQA在机房搞OI,但是成效不怎么行,主要是水平太低了,没学会什么东西。感觉就搞了搞普及组字符串(后缀系列的一些模板题)的东西和一些普及组数论知识(莫比乌斯反演的一些模板题)。
然后因为完全没有复习就回去一模,考得非常差(感觉考不上六中了),然后还被人赢DQA吊着打(他考了他们班第三)。感觉不太行回去恶补了一下文化课,初三基本上没有认真听过课感觉要完。
中考前一周可能因为我天天熬夜复习到一两点,大病一场,一直到中考也没好,特别是考数学和政治的第二天发高烧,我都不知道我在答卷上写了什么。不知道为什么考完中考病就好了,我本来就菜,还病了,
肯定考不上六中了(丢脸死了)。考完和班里的人去了一趟桂林,好多人的不能再像以前在十三班那样天天见了,感觉好伤心,不过反正我都要步入社会去买菜了,没多大关系。最后那天做了一些人生中不知道该不该做的事情,但是反正都做了我也不能后悔了,总得经历一下的,还好结果不是没有我想象中的最坏情况。
2.1 暑假
七月份回去机房开始停课(因为我校高一不知道什么班要提前上课,所以就算开始停课了)。搞了份计划,大概按上面的走。先把所有的知识点重新梳理一遍,然后再按专题来做题,最后上模拟赛。
大概七月上旬出了中考成绩,
我这么菜肯定没学上了,感觉考的这么菜还是过了线吧(又被人赢DQA吊着打)。一直这么复习着一些知识点,发现有好多东西都忘了,还有很多东西不太会。
到了八月末总算把历年的NOIP提高组和普及组的题目都做完了,发现了一些潜在的套路。
2.2 九月
开学第一天刘校就说六中在三年之内必回第一梯队,感觉我们这届要抓得很严了。
正常地停课,开始专题复习,发现怎么有很多基础的东西都那么有趣。现在的进度是每周三和六就打一场模拟赛,别的时间就复习专题。
模拟赛天天倒数第一,每次DQA,LHY,LXY都不到一小时做完离场了。周六更是被未来的希望LDQ吊着打。
2.3 十月
国庆那几天去了纪中打几场比赛。宿舍环境挺差的,但是纪中真的很大很漂亮。不出所料,还是天天被吊着打,天天垫底。此处orz人赢DQA,好像有两场比赛都rank1了,而神仙lhy也打的很稳,名列前茅。
回来准备了一下初赛,不知道今年的题目会变成什么样。
10.19去二中考了一场初赛,二中确实比我校要大,当时找个厕所都走了十分钟。也没看见一些认识的二中同学。当时感觉做完前面的题目都很轻松。但是我遇到了最后一道博弈论的题和前面一道大字符串的题都感觉有点呛。因为前面为了求稳所以计算上用了很多的时间,导致我最后无法静下心来想题,所以那两道题都答得不好,最后一题更是连蒙带猜地写完的。
我感觉自己60都没上,退役稳了。见到lhy,他满脸微笑,他感觉AK了。我问了几道题都被他怒D了。问了其他人好像都考得很高分。初中的好像都考得很好(LDQ好像考试前给他们讲过博弈论,然后他们基本上都切了最后一题)。
回去睡了一觉,听说下午普及组初中的同学们都考得很好,LDQ好像AK了。对了答案,蒙对了75分,好像说有点悬,但是继续停课吧。
后来出分了,没有挂分。LDQ真的AK了普及组,但是很可惜队长LHY好像有一道题做错了。
之后还是差不多的训练,不过模拟赛的量就多起来了。
2.4 十一月上旬
不知道为啥感觉自己效率好低,之前一天最多做8题,现在一天大概就4题的样子。
临考试了,我也不怎么回班拿东西了。到最后了就减了一些模拟赛的量,变成了多一点的总结。大概考试前一周勉勉强强地把所有内容都复习完了,提前几天已经跟lhy询问好了到时候打比赛的策略,可惜我们准备的那些策略都是NOIP的,对于现在的CSP好像不太管用。
然后我们高一的几个都翘掉了期中考试(反正考了的分数和没考的分数不都差不多嘛),高二的几个回去考场上睡了几天。
2.5 联赛前后
最后这周我们打了一下DQA出的一套模拟赛,比较NOIP,但是给了我一个警告,到时候一定要顺开,一定不能跳着开题。但是这也很可能影响了我今年的一些做题策略。
最后一周了,每个人都十分的紧张,甚至有紧张到睡不着觉的。我也很紧张,但是每天和他们的开玩笑还是可以很好地缓解压力的。最后几天就是看之前写过的做题记录和代码,特别是历年真题(哪知道会不会像NOIP2018Day1T1那样呢?)。
### Day1
由于前一天睡得很早,所以起床的时候还是挺有精神的,但是晚上梦见了今天前两题都是送分题,第三题考了一个LHY模拟赛出过的期望概率的贝叶斯公式,但是我不会做,第三题爆零了,然后被他们怒D……考场就在我校,去到机房发现不让进,看了一下很多神仙在我们考场(比如坐在我后面的PB,还有NTF、LDQ、LC等等)。提前三分钟给碰电脑,发现所有的注意事项和须知都和NOIP相同,那就不管了。密码好像是\(Ren2Zhen0Si1Kao9?\)(认真思考)。开场先看题目,第一题是格雷码,前几天在听讲题的时候还跟DQA讨论过的,应该没什么问题(吧?)。第二题好像是一道跟括号序的题,应该问题也不大。第三题是一个树上删边交换数字求最小字典序的一道贪心题,暂时没看出来考什么。当时就在纸上写下了这些关键词。然后重新理一理思路,当时没有仔细想题,觉得这套题目的难度跟NOIP2018day1差不多,也就是说有很多人可能在1.5h-2h内就AK了,然后出场的时候可能全场都AK了。
抱着这种错误的心态去打题,三分钟写完T1,测了样例1发现过了,但是样例2没过。当时只是觉得变量写错了吧,然后感觉调调调,过了2但是没过1。我当时还没什么感觉,于是又在纸上画了一小会觉得思路没错,然后改改改。发现小样例都过了,但是没过大样例。当时开始慌了,又想了想发现好像哪里有问题但是又说不出来。时间已经过了差不多一个小时。我顺着原来的思路又改改改,但是还是过不去大样例,自己出几组小数据也过不去。哇凉了啊,但是想着我这不就是要退役的节奏了,我感觉这个时候别人都做完T2了吧,甚至可能已经有人AK了。越这么想越发不对劲,但好像想到一个复杂度高一点但是还是能过的做法,于是去上了个厕所。回来我把原来的代码删了,然后胡乱打了一通,不知道为什么就过了所有的样例,然后我手玩几组小的数据也都过了。我一看时间,想起了LHY的话,day1就应该写完三题再去拍,于是就没有拍。
看看时间好像还有2h不到。我当时还是抱着全场都会AK的这样的心态打题,想着要是他们2hAK,那我最后Rush一下说不定还是可以的。然后再仔细看了T2和T3,感觉暴力加起来60分左右。于是赶紧想T2的正解,还是三分钟就想完了,不到十分钟就码完了。测了一下几个小样例都没问题。但是——测大样例又挂了。此时我还是觉得自己哪里的变量打错,于是肉眼检查了好久都没发现问题。那就完了,还剩不到一个半小时怎么做完这两道题啊。心态有点不好了,大样例太大了是肯定调不出来的。我自己手玩了几组小数据,发现错了。找了几分钟才发现是没考虑前面还合法的括号对这里的贡献,也就是说在()()()这样的括号后加入一个()答案其实不止加上1(就是()这个),还有很多和前面组合起来的贡献,我当时就吓傻了。过了一会儿的想法就是把前面的贡献算上不就好了吗?但是不会维护,想到了很多很多很复杂的做法,好像都可做,但是还有一个多小时是绝对不可能打完这个还A掉一道题的。后来想想这玩意贡献不就是当前的父亲还有多少合法串的答案+1吗?想想好像有点锅没有去写。我想到一个很复杂的DP,我怕要是写了出锅那就完全完了,那个时候又去想了一小会儿T3,感觉贪心方法不是那么好想。还有一个多小时,到底是去实现我那个T2的复杂做法还是写两题的暴力呢?想了一阵,还是求稳吧。今年没了,在我没去拼T2的时候就已经注定了。然后很轻易地写完T2,还真有50,然后无脑地乱剪了一下枝,感觉没有什么用,反正加上不会影响正确性。然后写了一下T3的十分,感觉实现起来不是那么容易,但是最后还是调出来了。然后继续想T2的简单做法,但是很可惜过于紧张并没有想出来,因为当时满脑子都想着自己要退役了。
检查了一下文件,发现应该都没有问题。然后就结束了。
出来问了LDQ和LZH,好像他们都打得比我好。LDQ好像有200+,上厕所的时候见到了LHY和LXY,他们好像一个235,一个210。下楼去校道拍照,问了大家,人人都210+,我凉了呀,当时一想那50分就觉得退役稳了。其实不是第二题出的问题,而是不知道为什么第一题做了那么久(犯了一些模拟赛从来没有出现过的错误),导致第二题都没有心情打正解,然后就比大众分少了50+。因为他们给我讲完T2之后我觉得想多一小会其实就会发现我那个复杂的做法其实只用稍加改进就可以减少很多特判的地方,然后用栈维护就好了。
拍了张高中全家福(其实还少了几个),然后听DQA讲T3的做法,好像很对对。不过这道题的确很难。也没有想象中的全场AK。
然后就回家了,下午睡不着,玩手机也没有什么意思。整个人非常的不好,当时心态爆炸,连D2都不想打了。
### Day2
昨天晚上一直没睡好,起来的时候头很晕。去到考场见到了很多同学,他们好像都说昨天挂分了,LC好像还挂的挺惨的。我一点翻盘的想法都没有,我只想赶紧考完死了算了。
今天的密码是\(@ZhuaJinShiJian17\),然后就看题。看到第一题\(998244353\),心想凉了,怎么又是组合计数。第二题是一道感觉挺简单的题(当时觉得斜率优化拆开就好了)。第三题是一道树上神题,每见过。
我当时都不想打了。想第一题正解,一直没想到怎么容斥出答案,换了若干思路都想不到。这是大概1.5h,我转去写了一个T2的\(O(n^3)\)的简单DP,可能可以拿36分。然后我把式子拆开感觉可以拿64。然后赶紧写完,小数据没问题,大数据有锅。然后我失去理智乱调了差不多1h无果,放弃了。
最后一个多小时,我先写了T3送的40,但是一开始还是因为分成两边的大小那里出问题了,不过很快就调过了。鬼使神差,我没有胆量继续看后面的分,因为我心态已经完全崩了,假如我那个时候看,可能还有多35分(因为那35确实很好拿)。
我回去想T1,还是没想到正解,但是我害怕了,没有用平时打比赛时的策略——满分不行就想下一档分的这种思路去打比赛。我直接跳过了84和64,一看就看到了最少的32分暴力。然后写完,那一刻我十分茫然,不知道能做什么。
出考场,整个人都凉了,又是垫底。好像大家都打得挺好的,都有190-240,但是好像没有什么人想出了T1的100,但是大多数都写了84/64,而第二题他们都写出了64,而且没有我那个没调出来的64那么麻烦。T3好像都是想想就75了。
然后不知所措,瞎逛了一个下午。
总结
先小结一下考场上的问题。很显然,有如下几个:
一、遇到一些没发生过的情况不太会处理,T1往往都是送分题(LHY说的),假如想得太复杂/调了太久就断定是错的了。出题人&组题人无论多毒瘤都不会在正式赛上将T1放很难的题目。想D1T1调了2h是肯定影响很大的。以后假如T1很快有做法,应该想清楚每个细节的问题,假如复杂度过得去常数还挺小的话尽量用复杂度大但是不容易写挂的方法来写。而且NOIP这样的比赛要是T1一开始就挂了,那重构代码问题应该可以很快解决。
二、比赛经验少。取舍问题在两天都做得很差。第一天第三题到现在来讲都是不太可做的,但是我还是对于一个想多一小会就有的100分不要,想拿一些后面不稳定(今年等价于拿不到)的分数,这个想法大错特错。而且第二天死磕一道题过久而且放弃了觉得很难想的T3的75分也是个错误。不能从题目表面看分数的难易度。一道很难的题目的部分分不一定很难,不能在赛场上完全不管或者是只给一道题很少的时间,一定要分配给每道题一定的时间,就像第三题如果多20分钟就可以多35了。
三、心态问题。第一天我觉得人人AK,然后越打越慌导致做不出很基础的题目来。第二天我自己受了第一天的影响,觉得少了那50分就啥都没了,自暴自弃,不按正常的方法来比赛。这些一定是不对的。一天的情况一定不可以影响第二天,像雅礼的LTY就处理得很好,他第一天没我高分,但是第二天稳扎稳打,心态很平和,然后就做出来很高的分数,成功翻盘。
所以想到这些问题,我觉得比赛还是要注意心态问题,考完一天忘一天,每场都当成单独的一场来打,不能通过定式思维来判定难度,我觉得题目难度不能按比赛来分,应该按你会不会来区分,会的题,就算是国赛题,那要是水题,不会的题,就算是普及题,那也是难题。
打比赛一定要自己去区分难度,能想正解尽量想正解,想不到也不要像我那么傻直接最低档暴力,应该一档一档往下移,假如想完了某一档,考虑能不能再往上跳,想回上面的分数,就像是一个从满分解开始的递归过程。
假如还有未来,我觉得要改进一下准备比赛的方法。可以说我之前打的模拟赛都很马虎,没有当做真正的比赛来打,没有关注到模拟赛的重要性,所以真正的比赛就出现了诸多问题。以后要加一点比赛的量,而且比赛全都要当成正式赛打,到时候怎么想的现在就怎么想。怎么分配时间尽量拿分也很重要。其次,多做点难题也很重要,我感觉停课时做的题目都偏基础,没把难度提上来,这样对考场上想难题没有什么帮助。假如下学期还继续停课的话,一定要提高一点效率,这点要向WJY学习,逼一逼自己。怎么拿到一道题突破它和总结这道题的一些套路的这个方面要想DQA学习。打过比赛才知道自己的弱点在哪里,才能继续修正。像NOIP2018打完我才发现自己好像啥都不会,CSP2019打完我发现原来我心态那么不好,会做的题目都没有心情去做。
希望还有明天!
后记
考完感觉没脸见人了,已经有很多人欢迎我加入文化课的队伍,
让我在年级里也倒数。但是我还是觉得很不甘心,毕竟停课两个多月,虽然我不觉得非常拼命,但是也付出了很多的努力,只考这个分数不太对劲啊。现在想起day2的考试都觉得很后悔,要是当时完全忘掉day1,我的成绩将提高50-100不等。不过也有朋友劝我分数还未出来,在我已经尽力时,不用再去管结果了,说不定有奇迹呢?还是那句话“尽人事,听天命”。
到了周三,终于发了选手代码。
麦老大说过没有对拍的题目都会爆零,而我因为考场上的时间过于紧迫,导致没有拍任何一题,所以:
估分:0+0+0+0+0+0=0假如一分不挂的话应该是:
\(100+50+10+32+36+40=268\)
在洛谷上测到\(302\),学军和清北学堂上是\(318\),也有一些更低的,不过最低没低过\(268\),也就是一分没挂。但是大家千万不要学我,一定要打对拍,因为你永远不知道哪次会挂分,要是很重要的比赛挂分了,那就麻烦了。
先回去上一段文化课,一边等出成绩,一边学学文化课,因为期末考后还要分班,回到一班还是很重要的。
不懈努力,静待奇迹。
尽人事,听天命。
善当下,展未来。
CSP2019-S2参赛总结 暨 近期学习反思的更多相关文章
- (转) Parameter estimation for text analysis 暨LDA学习小结
Reading Note : Parameter estimation for text analysis 暨LDA学习小结 原文:http://www.xperseverance.net/blogs ...
- 总结暨JAVAWEB学习开篇(一)
匆匆,距上一篇博客已经过去7月有余,遂作文一篇总结暨JAVAWEB学习开篇. 1. 啃英文新概念.在多方讨教英语大佬后改变学习方式,通过背诵英文书籍以及多听英文录音来学习,效果还不错(等真正有成效了跟 ...
- UNIX环境编程学习——反思认识
学习情况: 有关UNIX系统环境编程的学习时间用来非常长的时间.可是感觉效果还是不是太好,在中间经过了期末考试.用来非常长的时间用来学习专业课.就将该过程的学习放到了一边上,放假以后又回家造成了 ...
- CSP2019 S2滚粗记
最好分数:100+20+10+64+64+55 最坏分数:100+20+10+64+36+55 咕咕数据分数:100+25+10+64+60+55 CCF官方: 100+35+10+64+36+55= ...
- hadoop data 相关开源项目(近期学习计划)
计划学习几个hadoop相关的开源项目: 1.spring hadoop 2.spring batch 3.spring redis 4.spring mongo 相关项目样例:https://git ...
- SHELL 近期学习
由于项目中很少使用到shell脚本所以.只是偶尔自学一点.慢慢积累.下面就把近段时间积累的发出来.学习. #sort sort 按首字母排序 sort -n 按数字大小 从小到大排序 sort -rn ...
- WebDriver API——浏览器控制暨如何学习webdriver API
在测试过程中我们可能需要对浏览器进行控制,大小控制啊,刷新页面啊,前进后退等等,最常用的两个接口是window和Navigation. 我们最常用的就是这4个,那么你是否感兴趣它们后面是什么,它们是怎 ...
- 近期学习python的小问题及解决方案
①定义空的二维列表来读取放置文件的内容: 在python中定义二维数组 - woshare - 博客园https://www.cnblogs.com/woshare/p/5823303.html ②调 ...
- 谈谈近期学习Nativejs和reactNative的一些感受
因为前段时间,对dcloud推出的Nativejs和facebook推出的reactNative都做了一点点浅薄的研究.因为研究的很浅薄,所以仅代表我个人观点,谈谈对运用这两个产品的些许感受. 说起d ...
随机推荐
- Robot Framework(三)项目实践出现的问题以及解决方法
导航: 1.元素定位失败 2.系统自带的确认弹窗 3.ElementNotVisibleException: Message: element not visible 1.元素定位失败(使用frame ...
- 记一次完整的java项目压力测试
总结:通过这次压力测试,增加了对程序的理解:假定正常情况下方法执行时间为2秒,吞吐量为100/s,则并发为200/s:假设用户可接受范围为10s,那么并发量可以继续增加到1000/s,到这个时候一切还 ...
- 设置adb shell的环境变量
1.设置adb系统变量 adb D:\androidStudio\platform-tools;D:\androidStudio\tools 2.设置path系统变量 path D:\android ...
- 一个密码经过多次MD5加密能否提高安全性?Java MD5盐值加解密
什么是MD5? MD5(Message Digest Algorithm 5,信息摘要算法5),是计算机广泛使用的摘要算法(又称哈希算法)之一.MD5是将一段信息,通过其不可逆的字符串变换算法,产生了 ...
- 利用python3 爬虫 定制版妹子图mzitu爬取
在刚开始学爬虫的时候,用来练手的基础爬虫就是爬取各种妹子图片,前几天同时说了这个,便准备随便写一个...最后发现真是三天不练..什么都记不住了!!所以花了政治一天重新写了一个爬虫程序,并且支持按照时间 ...
- The Linux Kernel 4.15.0官方文档内核语言风格解读(留)
https://www.kernel.org/doc/html/v4.15/translations/zh_CN/coding-style.html 1.缩进 制表符是 8 个字符,所以缩进也是 8 ...
- 解决 android studio 出现:"AndroidStudio:Could not GET 'https://dl.google.com Received status code 400 from server: Bad Request"问题
一.android studio 编译项目时出现"AndroidStudio:Could not GET 'https://dl.google.com Received status cod ...
- PAT Basic 1001 害死人不偿命的(3n+1)猜想 (15 分)
卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把 ( 砍掉一半.这样一直反复砍下去,最后一定在某一步得到 n=1.卡拉兹在 1950 年的世界 ...
- 关于join
- 第二章 Vue快速入门-- 17 v-for指令的四种使用方式
1.v-for循环普通数组 <!DOCTYPE html> <html lang="en"> <head> <meta charset=& ...