「NOIp2018」 游记

作为一个蒟蒻要去考tg了,心理还是有点慌的。初赛70,心惊胆战很长时间,后来降分到68了,居然卡线了(震惊……)

$Day 0$

今天请假在家复习了,打了几个数据结构模板。希望明天考场能++rp啊!

由于就在学军紫金港考,所以没有必要住旅馆了,每天过去不到40min的。

$Day 1$

早上6:50出发(cmz爸爸带我们去的),到了学军大门遇到了hy巨佬。昔日的赛艇就剩下我们三人了。作为一个业余选手,我只是凑个数的。然后我们谈笑风生了一会儿,就进学校了。(快冻死了,身体一直战栗,牙齿都快碰碎了……)。我们一起去了礼堂(休息室),然后想去上个厕所竟然排了10分钟的队,然后被迫转战3个洗手间才找到一个不用排队的……(有毒)

8:10的时候终于放我们入考场了,入考场的时候碰到了暑假结识的qy巨佬。

走进考场才知道,这一届的noip果然与往年不一样。从排场就可以看出来。机房设在体育馆里,至少700+台机子排得很整齐,颇有ACM的氛围啊。机子也很别致,今年不是台式电脑,是笔记本连了长键盘(700多台笔记本……)。主席台设在上面,有超大的投影仪。

辗转多时后才找到位置。惊奇的发现作为竟然是按照姓氏排的。qy巨佬就在我的正左边(貌似全场我们这个姓的就两个)!!!

8:30压缩包密码就投影在大屏幕上了(飞雪连天)。输了一次发现不对,没打感叹号。又输了一次终于对了。解压以后看题目,发现三题的名字都好普通啊。修道路什么的类似的题目应该有一堆……

然而此时我很慌,因为我不大确定文件夹怎么建,可不可以有多余的东西在里面。问了老师,并没给我什么帮助。算了不管了,大不了先都拖出去,最后再放进来好了。

匆匆忙忙打好头文件和快读,懒得调dev的背景了,将就着白底的用吧……

先看$T1$,发现这道题好像就是积木大赛吧。确定了一遍以后发现应该差不多,没有什么简单的思路。于是想到了找到最小值然后左右分治。然后看了一眼数据范围竟然是$1e5$。这题居然卡循环……于是不得不打了个ST表(还要存位置)上去,9:10左右过了大样例。

看完$T2$心态有点崩了,感觉完全不可做。于是去看$T3$,看了好久都不理解为什么样例一是31。反复读题发现是每条边至多一个赛道。题目都能读错真实服了。于是发现对于20%的数据只有一条赛道,那么只需要做一遍树上最长链就可以了。感觉部分分还是可以拿的,所以先回去看$T2$了……

$T2$看了好几遍终于懂了,其实范围之所以可以缩小是因为有些数没用了,应该踢出一些数,这些数是可以通过别的数凑起来的。所以问题转化为小的数可否凑成大的数。问题有点棘手啊……发现对于50%的数据有$n leq 5$,于是果断DFS……调试了将近50min终于过了。拿大样例一测发现前面的几个小数据都过了,大的卡了一会儿也过了。心终于放下了,应该有150了吧。

回去看$T3$,先花了15min打完了最长链。继续研究他给出的约定,发现对于20%的数据是链。如果是链的话,那么只需要二分答案+贪心验证就好了。打了20min过了。那么这样的话不出意外就是190了。

剩下来70min感觉无所事事,文操检查了无数遍应该没什么问题了吧。

突然想到要用两个数凑出另外一个数可以表达成不定方程的形式,那么只需要判断一下exgcd是否有解就可以了。难道T2是数论题?此时还有40min,突然紧张。然后思考了一会儿发现简直是在扯淡,很明显我可以通过2个以上的数来凑,而且必须两个解都是正整数。于是放弃了。

看到此时左边qy巨佬依然在调T3,不知道他是不是要AK了……

结束之后大家开始讨论了,神仙qy说他T1写了笛卡尔树;往外走的时候后面两个人在聊,都认为T2是完全背包……然后我就慌了。出门和cmz,hy汇合,两个人都说这套题好假……hy巨佬应该AK了,cmz巨佬应该255了……

毕竟我那么菜,还整天在自己家里训练,怎么可能1=啊……

和cmz一起去吃面了,吃完回家。

回家发现网上都在说三题都是原题。我靠??!!

估分:100+50+40

$Day 2$

调整了一下心态,第二天再次早上来到紫金港。

没有看到hy,但是看到lty奆佬了。看到一群奆佬讨论昨天有没有AK的景象,我都不想说什么了。希望今天的题正常一点哈,不要原题了……(反正我都没做过)

今天的密码是笑书神侠,昨天飞雪连天考得那么简单,总感觉今天是要凉了。

遍历一遍题目,T1就是图论?T2是什么乱七八糟的……T3还是树???

先看T1吧。每个点访问一次,m最多=n。震惊这居然是一个基环树!!!暑假做了一道基环树的树形dp,后来就再也没有打过了。对于60%的数据就是树,很明显题目就是求一个字典序最小的dfs序嘛。所以从1开始,小根堆记录到达的点,走一遍就好了。对于基环树的情况,由于n只有5000,可以每次断一条环上的边然后走一走。然后我发现我菜到找环都不会……想到了点双什么的。然后想到访问两次什么的,但没往深处想。这真的是T1吗……?先去看T2了。

看完T2我感觉真的完蛋了!题目讲的什么鬼啊,数据范围也很奇怪,n最多是8,m最多是100000???不管了,直接看T3。

T3感觉可做诶,感觉比T2都简单。有44分的是n<=2000,其实就是一个有特殊规定的树形dp,有点像没有上司的舞会。打了20min以后,发现样例都挂了,开始绝望地调试。调试了接近20min终于过了第一个样例。大样例一测又挂了。又调试了15min左右过了。感觉大样例好水啊,感觉我的程序错误百出,估计要凉。稍微想了想链的情况感觉不大对,就弃疗了。

会去看T2,还有不到2h。前几个点n,m都小于3的话DFS还是很稳的(我好菜啊整天DFS)。关键这题DFS都不好打,先暴力枚举图的情况,有2^n^m种情况。再暴力走路,又有(n*m)!种情况,再暴力比较字符串大小,细节还有一堆。打了40min+终于调过了小样例。测了一下3,3竟然输出了512??我的天它竟然输出了所有情况!!把过程打出来发现没有问题?肯定题意理解错了,赶紧回看题目才发现是对于任意两种情况的。改了一下判断语句终于对了。

抱着绝望的心情试了几组数据。2,4,8,16……不对,有规律!对于所有的(1,k)的情况答案一定是$2^k$。更夸张的是对于所有(2,k)的情况答案一定是$4*3^(k-1)$,对于(3,k)的情况是$112*3^(k-3)$。然后就没规律了,5*5的卡了半天都没卡出来。惊奇的发现n=2,3的分给的很足,就照这个规律打一个快速幂应该可以得65分……

对于大一点的数据,我rand()了……

回看T3依然没思路。感觉今年都在考树了,没考数据结构?T3的极限数据是n=100000的dp,还要支持100000次询问。询问就类似修改一样……难道是动态DP?哈哈哈,开玩笑,ddp的话模板题都黑了。

估分:60+65+44

这样加起来应该是359,好凉啊

洛谷上人说T3真的是ddp?你在逗我吧,ccf是不是**了……

$Day 4$

拿到包了,去洛谷民间数据测:

day1T1正常AC,T2深搜竟然拿了70!T3正常暴力分40……

day2T1正常60,T2神奇的70,T3正常44

总体来说都很正常,两天的T2都有意外收获(也许只是民间数据水,其他地方测出来day2T2爆0了???我好慌啊)

总共$384$,估计不可能过了吧……

$Day N$

day2t2文操打错了。stdin打成了stdout。于是爆0。损失:65分

因此最终得分:289

原文地址:https://www.cnblogs.com/qixingzhi/p/9942304.html