JSOI 2018 Round 1 游记

清明时节雨纷纷,路上行人欲断魂。

一年一度的JSOI,已在不觉中来临。

无论是LGM神犇,抑或只是初一蒟蒻,尽在这不大的赛场中相遇——他们无不在用一行行代码,谱写出自己被OI所充实的青春。

【以上:伪文少】


Day 0

阴雨绵绵的下午,步入南理工,JSOI赛场。

与各路神犇聊了会天,看他们在黑板上写FizzyDavid AK JSOI。

试机,一切顺利。


颇为滑稽的是,AC自动机的模板,我今天才完整写出——先前不过是口胡罢了。根本原因,竟是有小道消息称今年JSOI考字符串。

不仅诧异于djq_cpp曾经的不思进取【雾】。

另外,dtx一上Linux,就找到了游戏的入口。——大抵是AK后消磨时光吧?


Day 1

抵达赛区较早,闲来无事,欣赏了一会儿二月兰——无数淡紫的花朵盛开在林间,还颇有些浪漫气息呢。

突发奇想,出了一道毒瘤线性基模板题:定义一束二月兰的美丽值为其中每一枝的美丽度的异或,现在某神犇要摘一束美丽值>=K的二月兰送给……

开场,看T1,跳T1。

看T2,第一反应:55分是CF原题?然而我不会。看T3。

以为它可做,想了一会儿,却只发现了O(n ^ 3)的做法。

突然意识到T1的数据范围好小……奇怪……状压dp,维护台阶!

写完,测样例,没拍,写T2 T3去了。

T2稍后才发现是一棵树——于是55分贪心变成送分了。然而剩余的45分……还是不会。

二分 + 数据结构?

没敢想下去。推T3。还剩~2h45min,时间多着呢。

然而沉思良久,仍只会O(n ^ 3)。

代码大致如下:

namespace subtask_35p //O(n ^ 3) dp solution
{
	//... ...
}

namespace sol
{
	void solve()
	{
		printf("DP on trees? FFT? Centroid deposition? I think it's related to link - cut - trees, yet I cannot come up with a single idea QAQ");
	}
}

最后30min,想T3无果,放弃。玩画图 + 推数论,第一次在省选赛场上的考试竟这样结束了。

赛后——

djq_cpp:“T2怎么做啊……贪心,二分,然后?不会啊……”

某神犇:“T2线段树维护一下就行了吧”

djq_cpp:”???!!!。。。"

其实有些后悔,将时间全花在T3上。不然兴许T2就100分了呢。

终测成绩,200(100 + 55 + 45)。不算超常发挥,却也没有崩盘。

T3三位神犇经松一松(卡常)后,O(n ^ 3)过了。

*FizzyDavid是九省一市唯一一名AK选手!Flag屹立不倒!

JS Rk 10。NFLS Rk 6。

突然想起自己是非正式选手。

于是打掼蛋,浪。

---------------------------------------------诡异的分割线----------------------------------------------------

赛后讲题。

T3题解:

标算——LCT + 卷积 + 树dp。

诡异做法——树分治 + 卷积 + 树dp。

卡常做法——松松松 + 树dp。

djq_cpp:“?????!!!!!。。。。。"

然而依然没有听懂。

听说明天考字符串?


Day 2

有了前两天的经历,去赛场的路便显得平淡多了。

8:00,准时开场。

T1,刚看罢,只见题目描述极长——“省选显然不会考显然的模拟题,那么,可以预见,这道题将会异常毒瘤”,我以为。C = 1的50分貌似可做?又觉得不会这么简单,顿时起疑,于是先搁下。

T2,却令人心生一种奥妙重重的感觉/*雾*/……

树分治?FFT?等下,树dp,35分,写了。

时钟,指向9 : 00。

T3 志糊窜(?)。期待已久的字符串,然而估计又是个毒瘤题。

不管了,SA + LCP无脑上!——咦?这题似乎可以推式子?——莫队O(n sqrt(n) log(n))……

不觉间,9 : 45。新的可优化点遥遥无期——也不必再想了,就这样写吧。

10:30,SA & LCP完成。11:30,维护它们的数据结构完成,公式推完——还有三种分类讨论,给人以一种“常数会炸”的感觉。

…………

眼看正午已至,值得放下调得正酣的T3,去写T1的60分去。

//I soon give up
//I've come up with an O(n sqrt(n) log(n)) solution (with a relatively large constant)
//Yet my programming skill is too low to finish the code below
//Spending 3 hours, gaining 0 points
//...
//Hope in JSOI Round 2
//I' ll 'come back' next time! _0w0_

令人哭笑不得的是,将我这次JSOI收尾的,既不是一场逆袭,亦非平庸的发挥,而是以上一段有着”千言万语,更于谁人说“的注释。

策略崩。

赛后花絮:

未来女队dxm: "T1是Dinic最大流么?”

djq差点捶桌子。

csl神犇: "T3写炸了“

djq: 您至少写了T1正解啊……

要凉凉……


---------------------------------------------诡异的分割线----------------------------------------------------

写作业,却在写完之前跑去打掼蛋了。//不知为何,每次赢的时候都是1 4,只晋一级,惨惨

评讲T2时,猛然发现T3其实可以构造一下笛卡尔树 然后启发式合并O(n log ^ 2(n))水过……近乎昏厥……

//代价是T2没听懂

T3正解O(n log n),强。

FizzyDavid 两天标准分,强。

djq_cpp 95(60 + 35 + 0),暴力都没打满。

当天~rk 17。总排名掉了多少,未知。


壮志尽在南理工,策略失误一场空。


总结:

总有人安慰我,”你才初一呢,考得不好也无妨,毕竟积累经验。”然而有些事情,也该做了。

这次JSOI,自然收获匪浅——一方面,有幸认识了来自JS的各路神犇,同时也见证了自己近两年来水平的进步;另一方面,赛前的压力,反倒促使我再过一遍似懂非懂的算法,竟首次真正完全理解了AC自动机、熟悉了FFT、平衡树及后缀数组。

两天总分295,总体还可以。然而Day 2的策略爆炸,仍是个不小的遗憾。

常言比赛最忌在一棵树上吊死——然而,我总禁不住在发掘一道题“疑似可做”时,便钻进去,沉迷其中,无法自拔了。

下次定要注意。

至于什么算法上的疏漏——除却网络流仍需加强练习、以防误以为是不可做题外,其实,也就跟着学习节奏走吧——毕竟,考前,曾查漏补缺过呢。

SAM, LCT, 多项式;BSGS, 各种反演……一步一个脚印,慢慢来吧。

加油。

JSOI 2018 Round 2,希望不要重演Day 2的悲剧。

JSOI 2019,期待能创造辉煌。

加油!

OI,前路漫漫;好在,总有一盏灯,提示着我前进的方向。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章