摘要: 考虑统计每个数字的贡献。设f[i]为前缀i中该数的出现次数,则要统计f[r]-f[l]>(r-l)/2的数对个数,也即2f[r]-r>2f[l]-l。 注意到所有数的f的总变化次数是线性的,考虑对每次变化进行统计。 对于当前考虑位置i,统计r∈[i,nxt[a[i]])时a[i]的贡献。如果将之前的 阅读全文
posted @ 2018-11-02 21:46 Gloid 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 考虑边只有一种权值的简化情况。那么当且仅当两点可以通过边权<=x的边连通,且连通块内最大边权为x时,两点间存在路径max为x的路径。可以发现两种权值是类似的,当且仅当两点可以通过边权1<=x且边权2<=y的边连通,且连通块内最大边权1为x、最大边权2为y时,两点间存在路径max为(x,y)的路径。 阅读全文
posted @ 2018-11-02 18:00 Gloid 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 首先kmp求出每个子串能放在哪些位置。接下来的两部分贪心和状压都可以,各取比较方便的。 最大值考虑贪心。考虑枚举子串的左端点出现顺序,在此基础上每个子串的位置肯定都应该尽量靠前,有是否与上个子串有交两种选择,如果有交一定会使交集最小,于是枚举第一个子串出现位置并暴力枚举4!*23种情况。 最小值考虑 阅读全文
posted @ 2018-11-02 13:38 Gloid 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 下称放置守卫的点为监控点。设f[i][j]为i子树中深度最大的未被监视点与i的距离不超过j时的最小代价,g[i][j]为i子树中距离i最近的监控点与i的距离不超过j且i子树内点全部被监视时的最小代价。开始觉得这只能设成三维状态对这种二维的纠结了半天要怎么处理子树内有点未被监视但监控点的范围可以延伸到 阅读全文
posted @ 2018-11-02 00:29 Gloid 阅读(219) 评论(0) 推荐(0) 编辑