上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 42 下一页
摘要: 题意: "传送门" 给$n$个集合,每个集合有一些数。给出$m$个询问,再给出$l$和$r$和一个数$v$,问你任意的$i \in[l,r]$的集合,能不能找出子集异或为$v$。简单点说,$v$能用$[l,r]$任意一个集合的子集异或和表示。 思路: 子集异或和显然是用线性基。我们用线段树维护任意区 阅读全文
posted @ 2019-08-02 15:53 KirinSB 阅读(301) 评论(0) 推荐(0) 编辑
摘要: 题意: 已知 $X_i = a X_{i 1} + b X_{i 2}$,现给定$X_0,X_1,a,b$,询问$X^n \mod p$,其中$n include include include include include include include include include incl 阅读全文
posted @ 2019-08-02 11:04 KirinSB 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 题意: 问给定串有多少本质不同的子串? 思路: 子串必是某一后缀的前缀,假如是某一后缀$sa[k]$,那么会有$n sa[k] + 1$个前缀,但是其中有$height[k]$个和上一个重复,那么最终的贡献的新串为$n sa[k] + 1 height[k]$。故最终结果为$\sum_{i = 1} 阅读全文
posted @ 2019-08-01 20:03 KirinSB 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 题意: 已知某字符串$str$满足$str_1 max\{str_2,str_3 \cdots str_n\}$,现要求把这个字符串分成连续的三组,然后每组都翻转,问字典序最小是什么? 思路: 因为$str_1 max\{str_2,str_3 \cdots str_n\}$,所以第一部分直接翻转后 阅读全文
posted @ 2019-08-01 11:07 KirinSB 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题意: 给$n$个串,要你求出一个最长子串$A$,$A$在每个字串至少都出现$2$次且不覆盖,问$A$最长长度是多少 思路: 后缀数组处理完之后,二分这个长度,可以$O(n)$验证可行性,注意是“不覆盖”(英文不好看不懂),随便搞一下就好了。 代码: 阅读全文
posted @ 2019-07-30 22:09 KirinSB 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题意: 给两个串$A、B$,问你长度$ =k$的有几对公共子串 思路: 先想一个朴素算法: 把$B$接在$A$后面,然后去跑后缀数组,得到$height$数组,那么直接$rmq$就能$O(1)$得到任意两个$A$和$B$的LCP。如果$LCP = k$,那么这个串的贡献对数为$LCP k + 1$。 阅读全文
posted @ 2019-07-30 17:08 KirinSB 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题意: 给定一个串$s$,$s$必有一个最大循环节的连续子串$ss$,问最大循环次数是多少 思路: 我们可以知道,如果一个长度为$L$的子串连续出现了两次及以上,那么必然会存在$s[0]、s[L]、s[2L] \cdots s[L k]$中至少有两个连续的位置是相同的,然后看字母$s[L i]和s[ 阅读全文
posted @ 2019-07-29 11:04 KirinSB 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 题意: 定义一个串为$super$回文串为: $\bullet$ 串s为主串str的一个子串,即$s = str_lstr_{l + 1} \cdots str_r$ $\bullet$ 串s为回文串 $\bullet$ 串$str_lstr_{l + 1}...str_{\llcorner (l 阅读全文
posted @ 2019-07-26 19:04 KirinSB 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 题意: 一个回文的价值为长度 出现次数,问一个串中的子串的最大回文价值 思路: 回文树模板题,跑PAM,然后计算所有节点出现次数。 参考: "回文串问题的克星——Palindrome Tree(回文树)" 代码: cpp include include include include include 阅读全文
posted @ 2019-07-26 15:52 KirinSB 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 题意: 有$n$根长度不一的棍子,q次询问,求$[L,R]$区间的棍子所能组成的周长最长的三角形。棍长$\in [1, 1e9]$,n$\in [1, 1e5]$。 思路: 由于不构成三角形的数组为菲波那切数列,所以当棍数超过44时,长度超过1e9,所以从最大开始数最多不超过45次就能找到构成三角形 阅读全文
posted @ 2019-07-26 11:06 KirinSB 阅读(251) 评论(0) 推荐(0) 编辑
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 42 下一页