闲话8.26

今天摆了一天。

上午写了一上午题,被暴打了。jimmy 把宿舍安排发了,我们他妈怎么和大象挨隔壁啊真他妈麻了。

中午听说自己化竞报上名了🥰🥰🥰,9.1 去保定玩一圈混个省三得了😅😅😅

下午 jimmy 让收拾机房,合着为了让我们明天用 noilinux 写代码直接占我们下课时间打扫呗😅😅😅。然后还让讲 NOIOL 的题😓😓😓,真绷不住了估计就是讲给 jimmy 听的,也真够逆天的😅。

晚上写了写串题,被戴老师 D 了😭😭😭

事情起因:


haosen 20:13:34
虽然但是

haosen 20:13:47
感觉戴老师发的图图比王队发的好看

haosen 20:14:25
因为感觉画质高

haosen 20:14:37
王队发的都比较

haosen 20:14:42
糊点

bingxin 20:25:08
Cu感

bingxin 20:25:20
画风变了的问题

haosen 20:25:26
qs

bingxin 20:25:38
正常人审美

crimson000 20:26:00
?

Tibrella 20:26:13
王队审美

crimson000 20:26:14
我审美和你们不一样吗

Tibrella 20:26:17
是不是有点幼)))

被 D 了/kk

再来点 haosen:

haosen 20:19:33
md

haosen 20:19:35
刚才庭哥:在想了在想了

haosen 20:19:50
我:D这么难???

haosen 20:20:01
(结果lyt在和小女朋友聊天

haosen 20:20:03
/fn

haosen 20:20:06
我真tm

推歌:Hello(BPM) 2021 -かめりあ

虽然后面又出了 2022 和 2023 版,但是个人感觉还是 21 年的听感更好。中间的钢琴段也很好听,个人感觉也很适合做闹钟,反正我已经做闹钟了。

我为什么一直在推花花的曲子/yiw


CF710F

昨天 jijidawang 推了这题,今天写写。

做法 1:

二进制分组。我们对每次插入的一个字符串建立一个 AC 自动机,而当两个 AC 自动机大小相等时我们把这两个 AC 自动机暴力合并重构。每次查询就在 \(\log n\) 个 AC 自动机查询即可。而对于删除,我们可以注意到信息可减,因此我们可以对删除过的字符串再做一遍。

时间复杂度 \(O(n\log n)\)

做法 2:

我们直接哈希。每次直接枚举字符串 \(t\) 长度为 \(|s_i|\) 的子串,暴力比较哈希即可。

时间复杂度 \(O(n\sqrt n)\)。因为我们要让匹配次数最多的话,字符串长度一定是:1 2 3 4 ...。这样最多会有 \(\sqrt n\) 个字符串。因此每次询问为 \(n\sqrt n\)

做法 3:

我们考虑根号分治。我们对于长度大于 \(\sqrt n\)\(s_i\) 直接暴力跑 kmp 匹配。而对于长度小于 \(\sqrt n\) 的字符串,我们把它们都放到 trie 树上,然后枚举 \(t_i\) 的后缀去上 trie 上去匹配去。因为长度都小于 \(\sqrt n\),因此树高也为 \(\sqrt n\)。复杂度 \(O(n\sqrt n)\)


被戴老师 D 说喜欢幼的了😭😭😭

posted @ 2023-08-26 21:36  crimson000  阅读(39)  评论(1编辑  收藏  举报