摘要:
题目大意 给定 \(n\) 个主串和 \(m\) 个询问串。 对于每个询问串,求出最大的 \(l\),使得存在一种将当前询问串拆分成若干个长度 \(\ge l\) 且在任一主串中出现过的子串的方案。 思路 蒟蒻还是不会广义后缀自动机,所以我们就用 SA + st 表 + 二分 + 单调队列解决这道问 阅读全文
摘要:
题目大意 给定 \(n\) 个字符串,求出每个字符串只属于该字符串的本质不同的非空子串的个数。 思路 如果没有做过这道 SA 入门题《不同子串个数》,那么请先了解这道题的 SA 做法。 首先老套路,把所有字符串拼接在一起。 然后单独考虑一个字符串 \(i\),首先求出这个字符串的每一个后缀有多少个前 阅读全文
摘要:
思路 开始的时候想用倍增求 k 级祖先卡过去,然后就在考虑倍增数组 f[N][K],究竟是哪一维放在前面要快一点,所以都打了一下。 结果发现,一个会在 #9 TLE,另一个在 #8,#10 TLE,于是分成两类按照 \(2:1\) 的随机分布运行,然后就可以通过这道题了,最快用时:8.74s。 代码 阅读全文
摘要:
题目大意 给定 \(n\) 个模板串,以及 \(m\) 个查询串,依次查询每一个查询串是多少个模板串的子串。 思路 蒟蒻不会广义 SAM,所以只能用 SA + 莫队的高复杂度笨重算法通过了。 首先把每个模板串和查询串拼接在一起(中间用不同的字符隔开),然后跑一遍 SA,对于每个查询串,记 \(i\) 阅读全文
摘要:
思路 蒟蒻不会 SAM,所以只好用 SA + Manacher + st 表 + set + 单调栈 + 双指针的笨重做法了。 首先处理出每个点为中心的最长回文串长度 \(odd_i\),以及以 \(i\) 和 \(i+1\) 为中心左右对称的最长回文串长度 \(evn_i\),这一步可以用 Man 阅读全文
摘要:
day1 上午 先看了 PKUSC 2022 的开幕式,看了北大的介绍之类的,感觉似乎在损清华? 然后试机测试了一下,发现放了一道去年考的 T1。 下午 考试开始,先看了 \(3\) 道题,然后感觉 T3 似乎是个网络流,但是我不想打,就先打了一个二分+乱搞贪心,竟然可以拿 \(22pts\)(\( 阅读全文
摘要:
思路 对于 \(T=0\) 的情况,直接建出后缀自动机,统计一下一个点为开始的字串有多少个,然后从上往下找就可以了。 对于 \(T=1\) 的情况,同样建出后缀自动机,统计一下每个字符串的出现次数,和刚刚一样做就好了。 细节不多。 代码 #include<bits/stdc++.h> using n 阅读全文
摘要:
思路 一看就是差分约束,直接建边就好了。 代码 #include<cstdio> #include<cstring> #include<iostream> #include<queue> using namespace std;typedef long long ll; struct Precisi 阅读全文
摘要:
前言 ZJOI 王朝复辟???。。。 这次比赛在 5 月 3 号和 4 号,由于 qz 教育局什么五一不调休,正常放完双休回来,刚好比赛的两天就是周二周三,还做好了回来隔离半个月的心理准备,这两天算不了什么。 day0 比赛前一天下午 1 点半出发,坐的小(mian)巴(bao)车(che),虽然只 阅读全文
摘要:
思路 那就直接摸你就好了吧。 代码 #include<cstdio> #include<cstring> #include<iostream> using namespace std;typedef long long ll; struct Precision{int x;Precision(int 阅读全文