摘要: 题解: https://www.cnblogs.com/zhoushuyu/p/10077241.html 看到这么一篇,发现挺不错的。。 阅读全文
posted @ 2018-12-11 20:49 尹吴潇 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 题意: 在一个仅含有$a,b$的字符串里选取一个子序列,使得: 1.位置和字符都关于某条对称轴对称; 2.不能是连续的一段。 题解: 很久以前写的题解太扯淡了。。重新写一篇 首先对于限制$2$我们可以把它转化成没有限制-连续回文子串 然后我们发现问题等价于枚举对称轴然后求有几个位置关于它对称 至今不 阅读全文
posted @ 2018-12-11 20:49 尹吴潇 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 题解: 首先这个东西因为强制在线区间查询 所以外面得套线段树了 然后考虑几条线段怎么判定 我们只需要按照右端点排序,然后查询的时候查找最右节点的前缀最大值就可以了 然后怎么合并子区间信息呢 (刚开始我很zz的觉得应该要线段树合并。。) 线段树都保证了区间一样大每个点暴力也就会算log次。。 于是就直 阅读全文
posted @ 2018-12-11 18:20 尹吴潇 阅读(132) 评论(0) 推荐(0) 编辑
摘要: 题解: 想找到树剖的题写写,然后就找到了这么一题 树剖+线段树+线性基显然 分析一下复杂度就上天了 $nlog^2*60^2$ 不过树剖的log我忽略一下。。线性基合并肯定跑不满假设只有60.。 差不多还可以跑跑 于是就写了,然后竟然过了 当然感觉是数据并不强的原因。。 然而这题用倍增+线性基$nl 阅读全文
posted @ 2018-12-11 18:04 尹吴潇 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 题解: 和这件zhcs的那题有点像 第一种做法是考虑i,i+1之间的贡献 这样子就是矩形加减然后求矩形最小值个数 另一种做法是我们从左向右维护mx-nx-r+l 跟之前那题一样我们知道这个的最小值为0 另外我们只需要从右向左维护一个单调队列,这样区间取min/max(每个数插入删除一次) 就可以变成 阅读全文
posted @ 2018-12-11 10:39 尹吴潇 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 题意: 有$X + Y + Z$个人,第$i$个人有$Ai$个金币,$Bi$个银币,$Ci$个铜币。 选出$X$个人获得其金币,选出$Y$ 个人获得其银币,选出$Z$个人获得 其铜币,在不重复选某个人的前提下,最大化获得的币的总数。 $X + Y + Z ≤ 10^5$ 题解: 一道比较好的题 首先 阅读全文
posted @ 2018-12-11 09:47 尹吴潇 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 题解: 傻逼题 直接从左向右扫描每个点作为右端点 然后单点修改区间查询就行了 另外一种更直观的做法就是$(i,j)$之间产生了$(j-i)$ 于是变成矩形查最大值,kd-tree维护 代码: 阅读全文
posted @ 2018-12-11 09:30 尹吴潇 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题解: 线段树经典应用 首先暴力$f[i][j]$表示考虑前i位分成j段的最大值 转移$f[k][j-1]+cost(k+1,i)$枚举k转移 不同数的经典套路就是从它到它前驱这一段 于是维护每个数前驱然后线段树区间+1区间查询最大值就可以了 阅读全文
posted @ 2018-12-11 08:08 尹吴潇 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题解: 这个题好像暴力+线段树就能过 就是对修改操作暴力,线段树维护查询 为啥呢 因为保证了数$<=1e4$,于是这样复杂度$n*1e4=1e9$ 那么特殊数只有30个 又因为操作是只加不减的,所以每个点最多只有30次修改成特殊数 然后我的做法是建立主席树然后对每个数去二分这30次的位置 注意主席树 阅读全文
posted @ 2018-12-11 07:51 尹吴潇 阅读(172) 评论(0) 推荐(0) 编辑