摘要: 【题解】 DP. 设f[i]表示前i个字母,保留第i个字母,最多可以保留多少个字母;设g[i]为当前字母为i的位置对应的f的最大值。 转移方程就是f[i]=max(f[i], g[j]+1) (j与s[i]不冲突) , g[s[i]]=max(g[s[i]], f[i]) . 阅读全文
posted @ 2018-10-20 23:50 Driver_Lao 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 【题解】 平衡树模板题,不过因为可以离线,所以有别的做法。把询问倒着做,变成删掉数字、求中位数,于是可以二分+树状数组。 阅读全文
posted @ 2018-10-20 23:19 Driver_Lao 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 【题意概述】 一个区间的Mex为这个区间没有出现过的最小自然数,现在给你一个序列,要求求出所有区间的Mex的和。 【题解】 扫描线+线段树。 我们在线段树上维护从当前左端点开始的前缀Mex,显然从左到右Mex单调上升。 然后我们把区间左端点逐渐向右边移动,也就是扫描线是左端点。 我们可以发现每次移动 阅读全文
posted @ 2018-10-20 21:36 Driver_Lao 阅读(325) 评论(0) 推荐(0) 编辑
摘要: 【题解】 把某一行或某一列有4个1的都统计出来,然后首尾接上尽量长的,注意首尾不能选上同一个矩阵,要维护前缀、后缀1最大值和次大值。 还要注意维护矩阵内连续1的长度,因为可能有 0 0 0 0 这种情况。 0 1 1 0 0 1 1 0 0 0 0 0 阅读全文
posted @ 2018-10-20 09:56 Driver_Lao 阅读(139) 评论(0) 推荐(0) 编辑