摘要: 后缀数组找本质不同第k大子串:考虑属于每个后缀的自己的子串(这个子串的第一个出现位置) 后缀排序,每个后缀贡献的右端点是[height[i]+1, len[i]],而且后缀的顺序走下去,在走每个后缀的子串,恰好就是字典序的顺序 二分位置,找到长度,建反串,lcp找找即可。 阅读全文
posted @ 2018-12-25 21:21 *Miracle* 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 可以发现,答案O(根号)(因为链上答案最大,n/2,n/3...根号种) 每次求答案要二分 优秀的做法是: 对于小于根号n的暴力nlogn找,可能二分到同一个mid,记忆化一下最小的tot值 对于大于根号n的枚举答案(从min(n/sqrt(n),ans[]之前ans最小值),,开始枚举)计算最少需 阅读全文
posted @ 2018-12-25 21:07 *Miracle* 阅读(139) 评论(0) 推荐(0) 编辑
摘要: [CERC2017]Intrinsic Interval https://www.luogu.org/blog/ywycasm/solution-p4747# 这种“好的区间”,见得还是比较多的了。 mx-mi=r-l 比较经典的题是统计这样的区间个数。可以分治+大力分类讨论mx,mi的位置 但是这 阅读全文
posted @ 2018-12-25 20:36 *Miracle* 阅读(449) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/blog/a23333/post-xing-xuan-mu-ni-sai-path-ji-wang-zui-duan-lu 如果设f[i]表示从i到n的期望 那么转移方程比较好列。 但是取min的环形转移? 反过来想, 如果我们知道了f[x]的大小关系, 阅读全文
posted @ 2018-12-25 19:02 *Miracle* 阅读(149) 评论(0) 推荐(0) 编辑
摘要: 可以区间dp,但是复杂度太高。 所以应该是贪心,怎么贪心呢? 这种题目,最好还是手玩找一些规律。 可以发现,由于保证可以m次填完,所以颜色之间没有相互包含关系。 比较像分治的模型。 所以考虑拿到一个区间怎么处理。 假设a[l]==a[r],那么为了合法,一定先刷这种颜色。然后分部分递归下去。 否则, 阅读全文
posted @ 2018-12-25 18:48 *Miracle* 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 考场上怕是石乐志。 状态设计还是很自然的,求什么设什么。 f[i]表示前i个人安排好,电梯最早回到0层的时间 转移的话,枚举上一次最后一个带走的是谁 f[i]=min(max(f[j],t[i])+2*max(ak,j<k<=i)) 线段树优化 后面的区间最大值,可以用单调栈记录,弹栈的时候,在线段 阅读全文
posted @ 2018-12-25 14:07 *Miracle* 阅读(246) 评论(0) 推荐(0) 编辑