那些年我在 HL 集训做的题

Day 0

1.16 下午到 HL,居然还写了一道题?

P8855 [POI2002] 商务旅行

LCA 板子。不理解当时为啥要写这个东东,可能是为了热热身吧。

Day 1

讲整体二分,但是没听懂。貌似是魔改版 CDQ...不管它。但是我似乎发现了一片新天地,一切的一切都从下面的一道题说起:

P3157 [CQOI2011] 动态逆序对

这题 shr 在 CDQ 专题中讲过,但我没写。现在它成为了树套树入门题。。。

事实上,这题我们只需要维护在权值线段树上的单修区查,但权值线段树不支持区间操作,可持久化又不支持修改操作,怎么办!我们对于每个区间 [1,i] 都建一颗权值线段树,用树状数组在外层维护。这样,我们的权值线段树就可以支持区间操作了!神奇!至于空间问题就动态开点即可。

好的,我自认为学会了树套树,然后就被下面这道题硬控了 1h

P2617 Dynamic Rankings

还是树状数组套权值线段树,还是外层树状数组操作+内层权值线段树操作。然而我们会有:

(欢迎关注 _Passerby_ 喵,谢谢喵)我获得了 40min 调试时间 [微笑]。懒得喷 [翻白眼]。

P3332 [ZJOI2013] K大数查询

其实就是把上题的单修改成了区修,可以区修区查树状数组,但是我选择了常数爆炸的线段树。喜提最劣解。(注:我在 Day3,也就是 1.19 号测了线段树的常数,竟高达 300!所以线段树是根号

P3380 【模板】树套树

恶心题,145 行。。。

吐槽一下,对于恶心到毁天灭地的 [国家集训队] 矩阵乘法,我们拥有 125MB 的超大内存!

好的,然后我就用主席树过了 P3834 【模板】可持久化线段树 2P7424 [THUPC2017] 天天爱射击。哎等等,今天讲的啥,哦是整体二分啊,算了,我平等地厌恶任何一个离线分治算法 [不屑]。

Day 2

模拟赛,IOI 赛制,3.5h,8题。

开 T1,签到题,但是 WA 了三发,5min 过了。开 T2,签到题,10min 过了。开 T3,这啥,倒水??BFS??写不动,乱搞了个 20pts 跑路。开 T4,这啥??哦貌似可以打表,109 的数据 114 秒就跑完,然后就有:

71K 的代码,没有任何技术含量的打表,不愧是我 [傲娇]。开 T5,容斥,做完了,一血了。然后喜提坐牢 T6 1.5h。

模拟赛锐评:签——签——签但打磨你——打表——唐唐计数——逆天结论——唐唐dp——唯一正常难度。

题解就咕咕咕了,因为某人在催 qwq。

Day 3

额,貌似是线段树专题,不嘻嘻。

P7252 [JSOI2011] 棒棒糖

主席树,貌似直接做做完了。

拿根号分治水了俩题,分别是 P3396 哈希冲突CF786C Till I Collapse,叹服于被称为暴力美学的根号算法。

貌似发现其他题都不可写,写个后缀数组(P2178 [NOI2015] 品酒大会)压压惊。

好像一天都在给某些人调题,你们的代码怎么都这么【数据删除】。

今天好摆。。。某人又在催了,好吧,那就接着催吧。

Day 4

模拟赛,不嘻嘻。

T1 是唐唐模拟,然而我脑残写了个 ST 表,因为奇奇怪怪的 RE 调了好久,1h 过拍。T2 是唐唐倍增,因为森林调了好久。剩下 2h 坐牢。最后喜提 200pts 大众分。

下午貌似没事干,那就写后缀数组吧!

P3763 [TJOI2017] DNA

匹配 S0 的后缀和 S,允许有 3 次失配。注意到匹配成功区间的长度就是最长公共前缀,SA + Height 数组 + ST 表即可。

P6640 [BJOI2020] 封印

可恶的题,调了一下午。下面内容参考这篇文章

fi 表示 s 的后缀 i 作为 t 的子串的最长前缀,那么答案显然为

maxlirmin{fi,ri+1}

直接二分答案,判断 maxlirx+1fix 即可。(这个式子需要感性理解,我也瞪着它想了半天)

然后就因为各种原因听取 WA 声一片。。。

晚上出个题,发现总司令可以获得 60pts [哭笑不得]。

Day 5

翻开了某人的粉丝列表,我发现了...

今天是又又又是小清新数据结构专题。

P3586 [POI2015] LOG

小清新结论,设小于 s 的数之和为 sum,大于 s 的数有 x 个,那么我们需要满足 sum(cx)×s,证明嘛,就感性理解吧!这个两个东西随便维护就行,我用的动态开点权值线段树。

写了两个平衡树,是 P3165 [CQOI2014] 排序机械臂 和 CF 的一个题,懒得粘了,就这样吧,反正都是 FHQ 维护,打几个 tag 就行,后面那个题复杂度很玄学,据说要势能分析,好厉害。

还有一个根号分治,是 P4062 [Code+#1] Yazid 的新生舞会,怎么说,我爱根号算法。

好的,开始发癫——

本人语言表达能力有限,凑合着看吧。

今天脑子里一直在循环《很久很久》这首歌,真是触动到我了。专辑《辩护人》一直是这样的,很容易和我共鸣,很喜欢一句话:

当我们面对来自身边的怀疑、世俗的约束、生活的条条框框,我们应该如何替自己的热爱和执着辩护?当我们目睹人生的不幸、他人的苦难、社会的困境,我们应该如何替更多的“他”和“她”发声?在一个愈发冷漠的时代,我们是否能有勇气站出来,义正严辞地捍卫在我们心中的正义?

杨和苏为初恋辩护,为小丑女辩护,那我为什么辩护呢?杨和苏说“在很久很久以后,我们还在讲着那个发生在很久很久以前的故事。在记忆深处,为它留了一个好位置。”,那...(无法表达)

520 的时长,杨和苏真是又硬气又浪漫。

(以上纯属听歌发癫,下面是真正发癫)

想念北京,想念爸妈,想念 115,想念 gg,好久没见到 gg 了,今天偶然间在 noi 官网上看到 gg 的照片,他还是那么开朗帅气。想念网易云,想念杨和苏、姜云升、新秀、于哲浩,想念他们在歌词与旋律的交错中给我带来的精神慰藉。想念那些在不经意间偷偷溜进我梦里面的人,你们总是在我筋疲力尽,将要倒下之时拉住了我。还想念好多好多东西...我恐怖就是什么都不舍得失去,但又不懂得什么叫珍惜,就这样每天都陷入在内耗之中。所以说,我低头并不是在思考什么,而是想在零碎的记忆中寻找过去的足迹。哎,也不知道为什么每天都想这么多东西,ISFP 都是这样吗?

哎,不说那么多了,免得晚上又水元素充盈了。低头是我的过去,抬头是我的未来,还是抬头看向未来吧。

gg 说的真对,我们总是会在 Day 5 坚持不住,看来是这样的。

晚安。

Day 6

模拟赛。

求你了求你了求你了求你了求你了求你了求你了求你了求你了求你了求你了求你了求你了求你了别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 别 MLE 不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间不要卡我空间!!!!!

好的,空间限制 256MiB,我的空间 241.9MiB,O(nn) 空间卡过辣!

T1 是二分答案+二维数点,感谢 sxht。T2 打磨你,可恶,果断放弃。T3 一个小清新 DS,但我分块卡过了:

首先有一个长度为 n 的序列 a。再给定 m 个区间 [li,ri],区间有权值 xi。接下来 q 个操作,每次操作将 p 位置上的数改成 v,求每次操作后所有区间 [li,ri]xi 的数的个数之和。(就是求 i=1mj=liri[ajxi]

第一眼:这不树套树裸题吗?第二眼:哦不对,好像不能这样做,因为每次操作后求的是所有区间的值之和。首先考虑一种朴素做法,我们对于每个位置 i,开个数组记录覆盖它的区间的权值,每次查询时二分即可。这样做时间复杂度是 O(n2logn),空间复杂度是 O(n2),貌似只有 40pts。考虑优化,直接分块,块内就直接一个数组记录就行,边角上面那样暴力,最后二分时需要把块内的和边角的加在一起,这样就做完了。时间复杂度 O(nlogn),空间复杂度 O(nn),能过,赢!

讲个笑话,这是我至今为止做过的第 3 道分块。我爱根号算法!

摆了一下午,明天讲欧拉回路。晚上 CF 启动!

CF 不想评。

Day 7

今天是欧拉回路专题!对于我来说是分块专题!

也没啥好写的,就写了几个分块,摆了一天。

Day 8

结束了,回头再写总结。

posted @   Eliauk_FP  阅读(30)  评论(3编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示