去年在附中参加了NOIP2017(就当打一次酱油吧),虽然已经过去了4个多月……
Day −∞ − ∞
2017/11/10 下午 看考场
2017/11/11 上午 NOIP2017提高组Day 1 下午 NOIP2017普及组
2017/11/12 上午 NOIP2017提高组Day 2
Day 0
又回到了我曾经爆炸过的地方。
下午约3点到附中,过了约30min,cx & cyx dalao到了附中。
熟悉考场之后回到宾馆,一整个下午几乎没有刷什么题,也没有复习板子,全部都在刷博客(果然蒟蒻啊)。
感觉明天药丸了
晚上6点去吃了牛排。
吃完回去之后开始复习板子,重新复习了一遍NOIP2016提高组的题目,
预测明天的题目,可能是:
T1:sb模拟
T2:树结构/图结构
T3:DP
Day 1
A.M.
吃完了早餐,进了考场。
一发到题目,迅速去看T1,结果发现今年Day1T1画风突变,之前Day1T1都是sb模拟,今年居然变成了数学题:
给定
a,b
a
,
b
且
(a,b)=1
(
a
,
b
)
=
1
,求不能用
a×x+b×y
a
×
x
+
b
×
y
表示出的最大整数。
不管了,反正我也想写暴力了。
为了验证正确性,我生成了几个规模为
100
100
级别的数据,发现怎么结果和
a×b
a
×
b
那么接近?
算了一下,
a×b−a−b
a
×
b
−
a
−
b
?
又生成了几个数据,粗略地得出了正确性后,心一恨写下了
a×b−a−b
a
×
b
−
a
−
b
,反正规律找出来就行了……
再看T2,看了10min才看完,发现几年的模拟题从第一题被移到了第二题,而且是个大模拟。。。。
写+调差不多用了40min。
最后看T3。
DP,我一开始是想
f[u][i]
f
[
u
]
[
i
]
表示
u
u
到终点,距离为到终点的距离
+i
+
i
,但这样仿佛会出现环……………………
反正看运气吧,写了个记搜,然后就比较科学了……
对于判零环,我随随便便地敲了个Tarjan,结果一道T3被我的辣鸡代码能力写到了
105
105
行。
写完3题之后,还剩下30min。
我感觉我的T3绝对是炸的,所以最后30min都一直在T3对拍,基本没有检查T1和T2 (能过大样例就是了)。
考完12:00出来,我校的 舟神 和 wy Day1都AK了,舟神还说Day1 T3的难度是 普及- ?????
另外,cyx dalao自己手推出了T1,而我只会找规律。。。。。
中午去吃了兰州拉面,回宾馆验证今天T3转移顺序的正确性,证明之后又去对Tarjan的板子。
看了NOIP2015&2016普及组的T4,下午准备去普及组。
P.M.
进考场,发现普及组考场的电脑太辣鸡了,连扫雷都没有,更重要的是,pdf阅读器复制不了(害怕文件名写错)。
拿到试题,看完T1和T2,直接水过(因为不能复制,所以文件名检查了半天)。
不过还好T2的规模是1000的,否则T2就是一道数据结构题
开始看T3,BFS?我仿佛忘记怎么写了……
还是跑最短路比较科学一点点,直接码上。测了下大样例,不过后来发现忘记特判了右下角无色的情况,再加了个特判,T3结束。
最后T4,仿佛是个二分答案+DP,但似乎复杂度不对,一开始的想法是线段树优化,结果
108
10
8
的复杂度仿佛特别悬,单调队列?
这可是NOIP普及组,竟然有单调队列?难道正解会更简单?
恐怕和15和16一样T4都是思维题……反正先想到的方法就写进去吧,写+调完成后,5:00。
想玩一玩扫雷,但这机子上竟然连扫雷都没有。。。。。。。。。于是开始疯狂对拍T3和T4。
6:00结束,cyx和cx也AK了。
orz cx T3的巨佬DP
orz cyx 4:00就AK
Day 2
和昨天一样,吃完早餐之后直接去考场。预测题目:
T1:sb模拟 T2:DP T3:思路题(压轴题)
T1果然是sb模拟,直接写个并查集水过,但怎么发现有点不对?
原来今年Day2T1有个坑(爆long long),改成了double之后看T2。
T2,一看就是状压DP,而我却怎么也想不出来(之前都没做过与生成树相关的状压DP题),
f[u][S]
f
[
u
]
[
S
]
表示
u
u
的子树内点集为的最小代价,枚举一条边
(u,v)
(
u
,
v
)
,但仿佛特别不好转移。。。反正我也想写爆搜了
那一天20:00 神犇zzq发blog说只要加一维表示深度就行了,我果然好菜啊
我写了个
nn−1
n
n
−
1
搜一个有根生成树,再
O(n)
O
(
n
)
判断,复杂度达到了
O(nn)
O
(
n
n
)
……这样仿佛70分都过不了……
于是又写了一个特判(边数为
n−1
n
−
1
)。结果大样例在本机上狂T不止
T3似乎是NOIP有史以来第一道数据结构题,因为忙于思考T2而没有时间去搞T3,所以虽然我有了一个Splay的想法,但写起来却异常恶心。
于是写了个30分暴力,再去想
q≤500
q
≤
500
,难道要用……要用……哈希表?看在我一向对哈希表有抵触情绪的条件上,直接放弃。。。。。。
出了考场才发现T3的50分根本不需要什么哈希表。NOIP还是能骗几分骗几分的人吃香
结果cyx and cx dalao T2的复杂度竟然是
O(n2×n!)
O
(
n
2
×
n
!
)
的,真不知道他们用了什么巨方法。
cx第三题对于
x=1
x
=
1
的情况竟然写了个Splay拿到了70分(真佩服cx dalao的勇气)
orz lpf & pyz T2 AC
后来才发现T3和我之前在bzoj上做过的一道题很像
后来才听zzq说今年的Day1T3卡常,不知道记忆化搜索会不会被卡掉,据说正解是在最短路的拓扑序上DP
Day n
普及组成绩出来, 100+100+100+70=370 100 + 100 + 100 + 70 = 370 ,去检查了之后,才发现T4多了一句,无缘AK QAQ。。。。。。
Day n+1 n + 1
提高组同步赛成绩出来,
Day1T2因为没初始化丢了50分(QAQ),Day1T3居然A了。
Day2T2居然有70分(应该是考场的机子太垃圾了吧)
总分
100+50+100+100+70+30=450
100
+
50
+
100
+
100
+
70
+
30
=
450
好惨啊,如果有D1T2的初始化和D2T3的
q≤500
q
≤
500
就
520
520
了。。。
The End
虽然提高组只是同步赛,我才初三,只有 450 450 分,但这又何尝不是一次修炼。不知道下一次能不能努力AK啊!