#21 2024.4.22

796. loj4130 「PA 2024」Splatanie ciągów

假装 \(f(A,B)\) 怎么求大家都知道。怎么数数呢?怎么数数呢?怎么数数呢?怎么数数呢?怎么数数呢?

先把串变形成一堆连续的 < > 序列,我们只关心连续段大小。计算 \(|A|\geq |B|\) 的贡献。考虑枚举 \(f(A,B) \leq x\),套一层分治,计算跨过 \((mid,mid+1)\) 的贡献。发现两边贡献给 \(f(A,B)\) 的东西独立,各是一堆区间。枚举出这些区间,考虑暴力计算。为了方便,可以把 \(m - \text {端点}\) 扔到另一边的端点集合里。

对于左边贡献为 \(i\) 长为 \(l\),右边贡献为 \(j\) 长为 \(r\),贡献大概是一个 \(g(l,\min(r,m))\) 的形式。那么考虑速通左侧一整个段的贡献。对于右边的一个前缀,贡献是 \(g(l,r)\)。对于右边的一个后缀,贡献是 \(g(l,m)\)。推式子嗯造。对于右边中间的那部分,贡献比较神秘。注意到两段长度相等,所以简单推推式子肯定也能做。

综上就以 \(O(n \log n \ln n)\) 的垃圾复杂度解决了这个题。

单 log 狗都不学。

797. loj6777 「2021 营员交流」大毒瘤

798. qoj1223 Petrozavodsk Winter 2023. Day 7: Gennady Korotkevich Contest 7

799. qoj8227

800. qoj8228 排序

不知不觉编号上 800 了!

801. qoj8229

802. qoj1475 The 2nd Universal Cup. Stage 18: Dolgoprudny

A

不知道写啥,就写个 A 吧!

我看到这个题的时候非常震撼,因为模拟赛出过一样的题,但是那题 \(n = 100\)。我一看 \(10^7\) 吓了一跳,我得坐起来跟他打

模拟赛的时候我还完全不懂流,所以对那个图没啥办法,只懂分治匈牙利,造出了一个 \(O(nm^2 \log m)\) 的垃圾玩意。现在?大概懂了一点吧。

但是我还是不懂怎么不换根。算了别懂了。

803. qoj1009 Petrozavodsk Summer 2022. Day 2. ZJU Contest 1

I

来写个我的做法。

考虑如何 \(cmp(x,y)\)

\(x,y\) 后续的第一次出现的字符的位置集合拿出来,切成 \(O(|\sum|)\) 个段。每个段内部以及端点是独立的。如果哈希值不相等就进行 lcp。

总复杂度 \(O(n \log n |\sum|)\)

B

题比较 sb。有意思的是求一个多边形的对称轴。

Z 函数那个做法我看不懂,有无大哥教教 /kel。

我们定义,一条合法的对称轴交多边形于某条边的中点或某个端点。假设是点。枚举这个点,如何判断这个多边形关于它对称呢?考虑一个类似双指针的方法,从这个点开始,往左往右每次 expand 一条边或者一个角,如果相等就继续,不等说明不对称。

形式化地,假设要判断 \(i\) 号点是否是对称轴端点,写出序列 \(\alpha_i,l_{i},\alpha_{i+1},l_{i+1},...,l_{(i-1)\bmod n},\alpha_i\),判断其是否回文即可。

使用任意字符串技巧都可。特别地,当多边形是凸的时,可以使用 \(cross(i-1,i)\) 代替 \(\alpha _{i}\)

H

感觉是特别好的题。

首先你得会双极定向。前置知识是 https://www.cnblogs.com/yyyyxh/p/ear_decoposition_bipolar_orientation.htmlhttps://www.luogu.com.cn/article/dup8ri82 。虽然这个题 \(O(n^2)\) 的找出所有耳然后 relabel 的做法可以过,但是 \(O(n)\) 的双极定向很有意思,建议学一学。

然后考虑有拓扑序之后怎么构造方案。倒序构造,保证拓扑序在 \([i,n]\) 的导出子图合法。考虑加入第 \(i\) 个点。那么操作的意义大概是从子图里选一条链,整体往前拉一格,然后把 \(a_1\) 放到链尾。显然这条链链头是 \(i\),考虑不断往值最小的儿子扩展,直到最小的儿子权 \(< a_1\)。发现这特别牛,所以我们只需要 \(n-1\) 次操作。

804. loj3530 「APIO 2021」雨林跳跃

805. loj3531 「APIO 2021」封闭道路

806. loj3502 「联合省选 2021 A | B」宝石

807. loj3503 「联合省选 2021 A | B」滚榜

808. loj3504 「联合省选 2021 A」支配

809. loj3508 「联合省选 2021 B」取模

乱搞能力大幅下降。寄。

810. loj3341 「NOI2020」时代的眼泪

大 ds 题只口胡不写代码。

不愧是我 /tx。

811. loj3343 「NOI2020」超现实树

nb。

812. loj3365 「IOI2020」连接擎天树

813. loj3366 「IOI2020」嘉年华奖券

814. xsy5432 快乐的扑满(happy)

815. xsy5433 送奶牛回家(sheep)

816. xsy5434 我有强迫症(emo)

posted @ 2024-04-25 10:12  ZSH_ZSH  阅读(71)  评论(0编辑  收藏  举报