day -1

打模拟赛,当场炸裂,小细节错误一百分随风而去

day 0

坐学校的大巴车去杭州的某个酒店。

半路上闻到一股“香香的”味道。

起初我以为是哪个人放的p,

到后来才发现,有个人他肚子不舒服。

真·作呕车厢

口区,rp--

到了酒店以后有点饿就去楼下吃面。

面刚做好,教练叫我们上去开会,运气极差,差点口吐芬芳。rp--

还好面可以打包带会楼上吃,rp++

因为早上要打普及组的缘故,教练让我们6:30起来,他还给我们定了个叫早服务。

回自己的房间以后把面吃完,洗漱一下然后就睡了。

因为我第一次参加,只求一个J组2=,所以没有什么压力,也没出现什么睡不着的情况。

day 1

虽说教练让我们六点半起床,但是呢因为我妈6点起来洗头的缘故,我被吵醒了。虽然精神还是倍儿棒

然后我起来复习了一下数论,然后叫早服务的电话就打来了,然后洗漱一下,就去吃早饭了。

早饭还不错(毕竟人家是酒店),酒店提供了好吃的东西,以及一些饮料。我怕我在考场上睡着,就喝了点咖啡。

坐大巴去 学车中学 学军中学。

J组考场上

这挡板就离谱,老师把密码写在黑板上,我要站起来才能看到。

考试电脑是Win7的,稍微有点不习惯。

输入密码解压以后,就开始看题目。初看T1,觉得是道大水题,用位运算可以很好解决,10min过了这题。

初看T2,卧槽怎么会有这么难的普及题目。看一眼数据范围,猜测要用O(nlogn)或是O(n)的时间复杂度过掉这题,又感觉O(n)不太可能,然后就一直在往stl想。

10min后,我放弃了。正当我准备看T3的时候,我看到了一行字,写的是“每个人的分数不超过600”,啊?这直接就开600个vector(不知道我当时咋想的)就行了呀。于是20min过掉了。

这个时候只过了40min,心态就稳了点,心想2小时总能过掉一题吧。

初看T3,稍微有点慌,T3就这么难,那T4岂不是。。。

于是我去看T4了。初看T4,卧槽大水题啊,直接dp就完事儿了。

然后我看到了一句话,“可以往上,下,右三个方向走”,那没事了

然后我就想,因为又不能重复走,我就记录一下这个点从哪个点过来的最大值就行了,于是就敲代码。代码敲完了,小样例测了一遍,没过,于是开始debug。过了一会儿,突然发现矩阵中含有负数,不能直接赋值数组为0,然后就改了一下。然后小样例就过了。

测了一下大样例,也是对的,心态就稳了起来。

然后回去T3写了个骗分(即全输出0),此时离考试结束还有1h,就开始 划水 检测有没有变量名字是会在Linux底下编译错误的,改了几个变量名,估一下大概300,然后就在划水。

最后检查了一下freopen就走人了。

出J组考场

和同校的大佬们汇合后,我询问了他们的情况。

“今年T4好水啊”

“今年T1T2有手就行”

“今年T3我码了暴力,感觉有30分”

“对了你们T4开long long了吗”

嘶——我好像没开long long,真就“十年OI一场空,不开long long见祖宗”呗?瞬间感觉T4没分了。

然后我们就坐车回到酒店,我们吃了个中饭,然后收拾一下东西,就去打提高组了。

S组考场上

到了考场门口,我看了一眼座位表,发现竟然有好多我们学校的巨佬,进了考场,我发现我们这一排有另外两个是我们一个学校的。

依旧和上午一样,还是那个熟悉的挡板,还是那个熟悉的Win7。

得知密码后,我解压了压缩包,拿到了题目。我决定先把题目都看一遍。

初看T1,一看就是码农题,待会写。

初看T2,发现可以用二进制的思想来解决这道题目。

初看T3,我觉得我应该先看一下下一题的题面。

初看T4,我很快想到了一个贪心,即“只要自己吃了最菜的蛇以后还是最强的,那么就吃”。于是我开始写了起来。刚把快读打完,我突然想到,万一最强的蛇吃了最弱的蛇以后自己不会被别人吃呢?万一最强的蛇吃了最弱的蛇以后又有一条蛇吃了它以后不会被吃呢?这一下就把我绕晕了。于是我写了个全输出1的骗分代码,然后就去写T2了。

一看T2就知道可以用未知数二进制的思想来解决。把代码写完以后,测了一波小样例,过了,正当我欣喜的时候,我测了一波大样例,没过。我开始漫长的debug之旅。后来我想到了。然后就改进了一下,然后测了大样例和小样例,都过了。然后我去写T1。

此时已经过了2h了,我开始写T1。写来写去,写了1h,终于写好了。然后我测了小样例,没过。然后我开始了debug。

距离考试结束还有30min,我还是没有找到错误。

距离考试结束还有15min,我还是没有找到错误。

距离考试结束还有10min,我仍然没有找到错误。

终于,在6:23时,我找到了bug。

我检查了各个程序的freopen,然后就离开了考场。

出S组考场

瞬间感觉2=稳了,如果运气好点,说不定能上1=。

day 3

我竟然拿到了我的程序,把它交到洛谷上,测出来J组100+100+0+40=240,S组10+60+0+0=70。

J组一等,危。

但是,老师推测,J组1=大约是235。我瞬间觉得运气好好。

然后。。。S组70勉强混个3=吧。

day 10

官方的数据有了,J组是235,S组是70,危。

盘点下饭操作

后来我对S组的T1进行了debug,发现if和else的配对错了,意思就是这样的:

正确写法:

if(...)
{
  if(...)...
}
else
{
  if(...)...
}

我在考场上的写法:

if(...)
  if(...)...
else
  if(...)...

所以就愉快的挂分了。还有我是直接把1~400的年份对应的天数求了出来,然后下面使用的时候取模,但是有个地方我直接模400了,所以就挂了。

打J组的时候T4想到正解然后把它ban了

总结

做的时候还是不够仔细,期待明年能考好。