我太菜了。
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 ai≤600,于是我有了一个骚想法:二分套树状数组
每次我们加一个数的时候就是单点修改,然后我们二分这个值,每次区间查询就行了。时间复杂度
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,作业停了。