CSP-J/S2 2020游记——个人揭幕战

我太菜了。

Day -21

嗷嗷嗷嗷普及组初赛过了(90.5)!

嗷嗷嗷嗷提高组初赛过了(79.5)!

果断停课,冲刺提高组。

Day -20——-1

刷了好多题,达到了 870 870 870。主要刷了绿蓝紫,一些CF的思维题,特别是树上题,结果一道也没考

参加了好几场模拟赛,PJ模拟感觉不错,TG每次都被吊打……每次分数都是两位数……咋办啊……

Day 0

打了几个板子,晚上决定直播写代码……

结果不编译直接交 C E CE CE,KMP写炸了,身败名裂…… RP- -

Day 1

早上起得比较早, 6 : 00 6:00 6:00就下床了。

迈着轻盈的步伐,开车 10 10 10分钟就到了考场,坐在座位上等待发题。结果发现, C P P CPP CPP文件打不开?后来试了一下,发现只能用记事本的方式打开?!监考老师还说这个问题不能帮我解决QAQ……事实上我第一次参加毫无经验,大家都是这样的QAQ

不一会儿比赛卷子就发一下来了。发现从 0 K B 0KB 0KB缓慢增长,等到它不再变化的时候,我打开了试卷。

第一题什么神仙题?
第二题是什么大数据结构题?
第三题是什么神仙表达式题?
第四题是什么神仙 d p dp dp套高斯消元?

事实上我想复杂了,四题都很水的

先开第一题。感觉是一个比较水的二进制拆分;特判一下它是否是奇数就完了。

然后开第二题,是一个很显然的链表,离线下来倒序删除就完了。可是,写了一半发现链表不会写了?

慌……

发现数据范围有 a i ≤ 600 a_i≤600 ai600,于是我有了一个骚想法:二分套树状数组

每次我们加一个数的时候就是单点修改,然后我们二分这个值,每次区间查询就行了。时间复杂度 O ( n l o g 2 600 ) O(nlog^2600) O(nlog2600)似乎整个世界就我这么做

感觉写得很熟,不一会儿就打完了,一发过了大样例。

T3题面很长,不可做 。先去看 T 4 T4 T4。首先想的是图论建模,但是完全走不通……

于是看到了列方面没有后效性,于是感觉是个 d p dp dp题,很快得出了 O ( m n 2 ) O(mn^2) O(mn2)的解法。随便推一推式子,对于每一列正方扫一遍,维护一个最大值,就得到了 O ( n m ) O(nm) O(nm)的做法。

切掉。回去又仔细看了一下 T 3 T3 T3的题面,然后检查了一下 T 1 , T 2 , T 4 T1, T2, T4 T1,T2,T4的程序,对拍了一下,都是一遍过。于是出去上了个厕所,而事实上我并没有想小便,监考老师盯着我很奇怪。赶回来想第三题。

距离比赛结束还有 2.5 h 2.5h 2.5h,不慌不慌~

首先,后缀表达式转中缀表达式很简单,开栈就完了。然后,转化为表达式数,然后挖两个显然的性质,预处理+每次 O ( 1 ) O(1) O(1)回答就做完了……

代码很长,真难写……于是采用分段代码:
①开栈读入表达式。
这个倒是比较简单,很快就写完了。

②转化为表达式树。
似乎要做到这个还要跟①结合起来。
码码码,调了 40 m i n 40min 40min还调不出来……发现了无数个 s b sb sb错误……开了无数个数组……有点自闭……

③树上 d f s dfs dfs
④单次 O ( 1 ) O(1) O(1)查询。

最终还是挺了过来。开大样例,得到了自己的输出;准备判断一下与标准的输出是否相同,结果不同?

是这样的:他给我的大样例的输出中,竟然全是Unicode字符,而不是 01 01 01。开始观察 U n i c o d e Unicode Unicode字符,发现了一个性质:只有两种字符,其中一种代表 0,另一种代表 1。很显然,那个出现次数少的是 1 1 1

于是我找到了每个 1 1 1的位置(手动),对比了一下,完全一样~

此时距离比赛结束还有 10 10 10分钟,赶紧检查QAQ 放入文件夹,检查文件名、文件操作……比赛结束……

⌊ \lfloor 稳了 ⌉ \rceil

估分: 100 + 100 + 100 + 100 = 400 100+100+100+100=400 100+100+100+100=400
洛谷: 100 + 100 + 100 + 100 = 400 100+100+100+100=400 100+100+100+100=400
计蒜客: 100 + 100 + 100 + 100 = 400 100+100+100+100=400 100+100+100+100=400
牛客: 100 + 100 + 100 + 100 = 400 100+100+100+100=400 100+100+100+100=400


官方: 100 + 60 + 100 + 100 = 360 100+60+100+100=360 100+60+100+100=360

。。。。。。。

知道分数之后,第一反应是自己T3写炸了;后来仔细看了一下图片(当时我在学校,我是在手表上看到我妈发给我的图片的),发现T2写挂了??!!!!!

洛谷、计蒜客、牛客T2不是都过了吗?怎么会炸??!!在学校做完了作业就开始考虑如何申诉,并决定在申诉之前先查一查自己写的二分套树状数组有没有写挂。但是,我个人认为,既然大样例过了,就不大可能会写炸了吧……

回家就开始检查自己的二分套树状数组,没啥问题。重新对拍了一遍,直接对拍一千多组,也能过。

然后去洛谷上,发现被换成了官方数据?交上去测一波,发现真的是 60 60 60分……

⌊ \lfloor Expected 0, Found 1 ⌋ \rfloor

?????????????

回去看一眼自己的代码,发现在一个部分,我将答案与 1 1 1 m a x max max了,因为我当时认为,题面中要让所有的分数线是正数。事实上题目根本没有这么说,是我把"期望的获奖人数为正数"给当成了"分数线是正数",在调试过程中以为两个都要满足。

。。。。。。。。

没了。

再一次死在了读题上。自创条件,漏掉条件,不是第一次犯了。

AK PJ的梦想,破灭了, 360 360 360滚粗。


Day 1.5

下午打CSP-S。中午吃饭肚子疼……RP–(我再也不吃鱼香肉丝了 )

轻车熟路来到考场,开题。

T1什么东西啊……这么长的日期大模拟……但是应该能做出来吧……
看T2, 这不是大水题吗?看完之后就有思路了,不着急,先看T3
T3是一道Answer Queries的题目,肯定先离线下来然后建图乱搞。
T4是一道多人博弈的题目,平时做得少……感觉难度也不小……

此时,我决定——先做T1。趁着脑子好使,先把T1花一个小时左右的时间切掉,然后去做T2,然后T3……最后T4随便拿一点分,不就300+了吗。

然后就开始做T1。代码很快就打完了,但是调不出来……调了 40   m i n 40\ min 40 min,心态炸了。去看T2, 花了不到 90 90 90秒就打完代码+过了小样例&&大样例。发现要判一下 2 64 2^{64} 264的情况,结果手残在后面加上了一个 − 1 -1 1,到最后都没有发现,痛失 5 5 5分。

此时,我做出了一个奇怪的决定:死磕 T 1 T1 T1,我就不信自己做不出来。

回去看自己代码,又调试了 2 h 2h 2h,感觉心态很炸……小样例过了,大样例就过不了了;大样例过了,小样例就过不了了;都过了,又被自己Hack了。感觉得分不到 40 40 40分,继续死磕。

然后,又过了 1.5 h 1.5h 1.5h,我连时间都没看,就在那里磕这题。最后,突然发现了一个错误:

⌊ \lfloor 闰年判错了 ⌉ \rceil

于是,改一改,就都过了。然后自己随便造了几组数据,又把自己Hack掉了……

时间仅剩 10 m i n 10min 10min!

迅速加了一个文件操作,检查了一下文件,然后继续磕T1。还剩 10 s 10s 10s的时候果断放弃,开了个画图软件,在上面写下了大大的AFO。

我成为了时代的眼泪

估分: [ 0 , 40 ] + [ 95 , 100 ] + 0 + 0 = [ 95 , 140 ] [0,40]+[95,100]+0+0=[95,140] [0,40]+[95,100]+0+0=[95,140]
洛谷: 10 + 90 = 100 10+90=100 10+90=100
计蒜客: 10 + 85 + 0 + 0 = 95 10+85+0+0=95 10+85+0+0=95
牛客: 0 + 100 + 0 + 0 = 100 0+100+0+0=100 0+100+0+0=100
官方: 0 + 95 + 0 + 0 = 95 0+95+0+0=95 0+95+0+0=95

这种成绩,还有脸见人?


Day 14-(inf)

不敢完全停课,上午去上课,下午回来搞OI,作业停了。

未完待续……

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值