NOIP2018游记

NOIP2018游记

Day 0

想到了NOI卡SPFA,补学了一发Dijkstra。

Day 1

6:30起的床,与宿舍里的人一起去吃了早餐,7点左右到了机房,复习了40分钟以后到了考场。

8:30准时开考了,将黑板上的密码输进WinRAR里。
密码错误,没有文件被解压
密码错误,没有文件被解压
密码错误,没有文件被解压
举手交了监考老师过来之后,老师才发现密码最后少写了一个感叹号。

打开pdf发现评测机换i7了?终于不是老爷机了。
看题:
T1 首尾相连?看看样例发现不是环。貌似和刚fst的一场CF的edu的C很像,仔细想想发现还是有差别的,一分钟后觉得可以贪心,但是实现上没有思路,于是往下翻。
T2 怎么有点像小凯的疑惑?题目太长不看。。。
T3 看了看数据范围,感觉部分分很多的样子。

看完一遍后回去想T1(P.S.因为做题太少没发现是原题),想到T1应该不会太难就开始想O(n)O(n)O(n)扫描的解法。
过来一会看样例瞪出了一个根据一个数左右两边的数计算贡献的做法,写了一发过了小样例,但是大样例错了。
冷静了一下,发现好像只用维护一个最小值,然后分上升下降考虑贡献就可以了。
于是写了一发(挺好写的),写完过了大小样例,一看表才9点,怕做法假,于是再写了一个暴力,9:30拍上了。

T2看了两三遍才看懂,感觉删掉那些能被别的数表示出来的数就好了?于是思考怎么判断一个数能不能被其它的数表示出来,(这不是就是完全背包吗)。由于在之前的模拟赛被bitset洗过脑,想到了一种用bitset的做法。
码完后一发过了大小样例。想想好像不会写暴力的样子,于是不打算拍了。突然想到这个算法的时间复杂度是玄学,自己造了一发特别强的数据跑了一跑。
2.2s!
赶紧优化……
发现可以先算出最大值?右移好像不用怎么多次?
于是改了改,秒出答案。
然后再想会不会被卡,发现自己构造不出来了,于是就放着了。

T3题意很好懂,是一个最小值最大的问题。二分之后变为判定性问题。
等等,怎么跟模拟赛做过的Tourist Guide那么相似?于是考虑构造一个dfs,返回未被选择的最长路径的长度。这样一个节点只需要把它的所有儿子尽可能的接上,然后返回没接上中的最长的那一个就好了?
???
T3这么简单???
然后冷静了一波想想怎么接,发现可以贪心接,不过是儿子个数的平方的复杂度。
明白了部分分中分支不超过3的作用?
发现这样做好像都有50分。
于是快速码完,测了一发小样例,样例1过了,样例2答案不对。
发现写bug了,改完就过了小样例。
一测大样例,过了?!
然后搜了一发发现大样例的节点最大分支数是70,感觉挺强的。
分析了一下时间复杂度的瓶颈在每个节点接儿子的过程上,这个东西貌似可以排序后二分?于是写了一发set上二分的,写完已经11点多了,却死活调不过大样例。调到40分只好把程序改为小数据暴力,大数据用set了。。。改着改着突然想到是set会把元素去重的锅,于是马上改成了map就过了大样例。保存代码,检查文件,考试结束。

出来听大佬们一说才发现T2是个完全背包,虫子和麦森T1写了线段树?(恐怖)。然后T1还是NOIP原题?(吓)

中午饭堂好多人啊。

下午隔壁机房考普及组。然而洛谷自测的数据已经出来了,就把自己T2的场上做法写了一遍,交上去过了!?感觉自己有AK希望了,于是把T3做法也写了,却WA掉了,查了查发现二分写错了,改完之后还是WA,查了1h,没有查出错,放弃了。

晚上在宿舍各种奶。。。

Day 2

早上起床前突然想到自己的T3做法是怎么错的了。原来还是重复元素的问题,但是重复元素不多就不会锅。。。所以这个假做法过了大样例。

吃完早餐在机房把心态调整过来,补了一发exgcd。

8:30准时开考,T1是个贪心题,m=n的情况删掉环上一条边就好了。
于是9:30码完过了大样例。造了组5000的大环的数据,本地跑了1.1s,想到i7评测机果断放弃卡常,看T2。
T2题面极长,看了10min才看懂,然而不知道在问什么,理解了30min,感觉每个数大于或等于它右上角的数就可以了?打完暴力发现3 3出了144,不是112。于是继续理解,30min后感觉如果一个数等于它右上角的数的话,那么它右下角的数一定要等于它右下角的数的右上角的数。加了这个判断后答案变成了128,仍然不是112。继续在纸上画啊画,30min后发现不仅是右下角的数要等于右下角的数的右上角的数,而是所有在这个数右下角的数都要等于它们右上角的数。码完后终于输出了112,已经10:30了,于是想着怎么把这个暴力优化,发现自己想不出时间复杂度更优秀的算法,于是只把n=2和n=3的规律找了。看到比赛时间只剩不到1h,连T3都没看,就赶紧去看T3了。
T3一眼O(nm)O(nm)O(nm)树D,由于某场div3有写过类似的题,30min写完了过了大样例,然后发现所剩时间不多,T2就算推出来也写不出了,T3也没时间拿其它部分分了,于是保存代码,检查文件,考试结束。

估分100+65+44=209

出来发现大家好像都不会T2正解,我T2的n=3的结论还和其它人不一样?T3好像是个动态dp?

中午饭堂终于没有那么多人了。

下午收拾好了行李,回家,准备上文化课了。

总成绩预测:100+100+70+100+65+44=479

2018-11-19

今天出分?怕是又要推迟。

10:30借了级组的电脑查分,但是显示成绩单未上传。

中午仍然是这样。

下午信息课发现出了通知,延迟到明天出成绩。

还是推迟了。。。

2018-11-20

早上吃早餐的时候发现7:00出成绩,于是吃完早餐在家里等7:00。

实际分数:

100+100+80+100+65+44=489

总结

心态很重要,在作出选择前一定要冷静下来。

每道题的时间分配仍然需要改良。

rp++

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值