摘要: int n, k, tot; struct _ {int x,r,f;} a[N]; struct __ { int type; ll x,y; bool operator < (const __ & rhs) const { if (x!=rhs.x) return x<rhs.x; if (y!=rhs.y) return y<rhs.y; return type<rhs.... 阅读全文
posted @ 2019-05-07 21:20 uid001 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定$n$个三元组$(x,r,f)$, 求所有对$(i,j)$, 满足$i<j, |f_i-f_j|\le k, min(r_i,r_j)\ge |x_i-x_j|$ 按$r$降序排, 去掉$min$, 然后就是个裸的三维数点问题, 可以用$CDQ$分治解决. 阅读全文
posted @ 2019-05-07 20:42 uid001 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 大意: 3*n矩阵, 求从(1,1)->(3,n)路径最大点权和. 核心观察是每个点回头一定不会超过1, 这是因为只有三行, 若回头两格一定是$9$个位置全走, 显然可以找到一种只会头一格的方案与回头两格的方案等价. 阅读全文
posted @ 2019-05-07 20:37 uid001 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定字符串$a$,$b$, $b$可以任选一段连续的区间删除, 要求最后$b$是$a$的子序列, 求最少删除区间长度. 删除一段连续区间, 那么剩余的一定是一段前缀和后缀. 判断是否是子序列可以用序列自动机, 最后双指针合并前缀与后缀的答案. 阅读全文
posted @ 2019-05-07 16:38 uid001 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定n*m初始字符矩阵, 有k个新矩阵, 第$i$个矩阵是由初始矩阵区间赋值得到的, 求选择一个新矩阵, 使得其余新矩阵到它距离和最小. 字符集比较小, 可以考虑每次区间覆盖对每个字符的贡献. 区间覆盖转化为差分, 然后前缀和优化. 刚开始辅助数组开多了, 卡内存卡了好久. 看别人代码似乎可 阅读全文
posted @ 2019-05-07 12:32 uid001 阅读(218) 评论(0) 推荐(0) 编辑