闲话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 说喜欢幼的了😭😭😭