摘要: 题意 两个长度为$r$的子串相等称为$r$相似,两个$r$相似的权值等于子串开头位置权值乘积,给定字符串和每个位置权值,求$r$相似子串数量和最大权值乘积 对反串建立后缀自动机得到后缀树,后缀树上两个状态的lca的长度len就是原串的两个子串的lcp,在树上进行dp,parent树上每个状态代表长度 阅读全文
posted @ 2018-03-03 16:47 Ogiso_Setsuna 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 题意 给定字符串,令$s_i$表示第$i$位开始的后缀,求$\sum_{1\le i using namespace std; typedef long long LL; const int N = 1001000; int trans[N][30], pa[N], maxlen[N], sz, r 阅读全文
posted @ 2018-03-03 16:46 Ogiso_Setsuna 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题意 给定$n$个数,将其划分成若干个连续的子序列,求最小价值,数组价值定义为,数组和减去$\lfloor \frac{k}{c} \rfloor$,$k$为数组长度,$c$为给定数 可以列得朴素方程$f_i=\min_{j \le i} \{f_j+w(j+1,i)\}$,复杂度$O(n^2)$ 阅读全文
posted @ 2018-03-03 16:44 Ogiso_Setsuna 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意 给$n$个贝壳,可以将贝壳分成若干段,每段选取一个贝壳$s_i$,这一段$s_i$的数目为$num$,可以得到$num^2\times s_i$个柠檬,求最多能得到几个柠檬 可以发现只有在一段中首尾颜色相同的情况下最优,所以每次选取一段里末位的$s_i$变成柠檬,于是有$f_i=max_{j 阅读全文
posted @ 2018-03-03 16:43 Ogiso_Setsuna 阅读(170) 评论(0) 推荐(0) 编辑