noip2018 day1 t1

Link

Old Memory

回首望去,他还是不忍直视当年那个抱着最美丽的幻想的,执意穿行金黄树林的小胖子。

他想骂他,在那个简单的时光中想着面子,幻想着不切实际的梦想这如今他都认为不简单的东西。

他想骂他,为什么不努力,为什么不脚踏实地。

但是他也是他,而他也将会成为他,老天用时间,信息不对等给他们两个开了一个玩笑。

他现在能做的只有继续吟啸,徐行,以此纪念这当年那个傻瓜,纪念他的梦想。


考场时,他在一个手就能数过来的我掌握的知识点中反复寻觅,同时根据学长讲的,但自己并未写过的知识点——分治,写了一个他认为很NB的分治。

当时的他只是过了样例,自己都不相信写的是正解。

在吉大外面的饭店中和同学徘徊,老师说过,要是学长们不努力,noip的分数就还是得在200左右徘徊,而他呢,这次似乎连一道题都不能确定AC。

老师来了,给他分享了t1的贪心,他当时脑子一震,当然,他还是对自己的分治抱有幻想。

而此刻,幻想彻底破灭,老师讲完,他没懂为什么分治不对,老师问懂没懂的时候也知识敷衍这点头。

day1,day2都结束了,发成绩了。

他只有 55 points 。25+0+0+0+30+0

有分的两题,分别是这道题,和填数游戏,他凭借着小学奥数瞎猜结论+手玩,以为能骗到50。。

此后他也放弃了这个题,他认为就算分治是个正确的算法,而自己一次也没有打过,甚至把学长教的二分当成分治,哈哈,算了吧。

此后的一年,两年这个想法一直没有挥散,结束了?noip2018结束了。


Present

2021.5.2

距离中考57days,他现在是初三。

"快快快,快tm给我测呀,别一直running on test 1,靠Wa on test 6了"。

又是一场4切的SB div2。

  • “为什么题解长得都一样?”(有的是差不多)

  • “为什么题解的代码也都长一样?”

  • “妈的,原来是个转载的,转载有个屁用。”

  • “妈的,都是借鉴一个人的思路。”

他才意识到,原来 "Wa on test 6" 是因为他少判断了一种情况,甚至他将这个特判的代码全部删掉也能对。

“这不就是个怪缝合题?”

他才想起来,这个似乎就是 noip day1 t1的一个增强版(缝合版)。

这道题题解给的是什么?我写的是什么?是tm的分治!!!!!!!!!!!!!!

这两年,他变了很多,他会了很多,也不甘于只听别人的解法。

他重新想了以下,发现 noip day1 t1 也是可以类似做的。

他考场上写的是正解。

他应该早早就有能力发现这点。

他应该早早的想一想,改一改题,而不是听别人分享他们自己的贪心,人类智慧。

他不应该只有55 points 。


Solution

这个题可以分治。

我们发现这个区间越长,就一定比短的优。

就最初的那段区间来说,我们最多有 \(Min_{i=1}^{r}d_i\) 次覆盖整个区间的方法。

接下来会产生一个 0,而如果把 0 当作分割符,我们的区间被分成两个区间。

而不管我们减了多少,这个一段区间内的大小关系是不会变的,我们只需要找出每个区间原先的 \(Min(d)\) 即可。

这个直接 \(st\) 表做 。

考虑复杂度,我们每找一次 \(Min(d)\) 我们就会删除一个数(变为0),我们顶多会删除 \(n\) 次。

所以复杂度为 \(\mathcal O(n\times findmin)\) ,由于是 \(st\) 表,\(\mathcal O(n\log n+n)\)


我现在其实特别想找出那个 JL-Senior.zip(也不知道是不是这个名字,反正CSP是这个名字)存着选手代码的zip

我想找出自己当年怎么写的,看能不能帮自己改一改代码,

有点懊悔自己当时得过且过,有点惋惜自己没好好学习,但这都是苍白的,因为时间已经流逝。

既然选择这般独木桥,这条人迹罕至的小路,就不能懊悔年少的无知,年少的轻狂。

做下去永远比说下去难得多。

以此,纪念那个13岁的傻瓜。


noip2018 day1 t1
https://proton-z.github.io/2021/06/01/old-good-days-noip2018t1/
作者
Imitators
发布于
2021年6月1日
许可协议