摘要:
思路: 动态规划。类似于线段覆盖,首先对每个区间的右端点从小到大排好序。对于每个区间$s_i$,状态转移方程为$f_{s_i.r}=\max\limits_{0\leq j\leq s_i.l}\{f_j\}$。对于这个$max$,我们可以用一个树状数组来维护前缀最大值。有$n$组区间,区间范围是$ 阅读全文
摘要:
OJ题号: BZOJ1218、洛谷2280 思路: 求出二维前缀和,然后DP。时间复杂度$O(n^2)$。另外用扫描线+线段树可以达到$O(n\log n)$。 阅读全文
摘要:
OJ题号: BZOJ1088、洛谷2327 思路: 经过观察可以发现,如果一个格子是否有雷可以通过其右上角的数字、上方两个格子是否有雷确定。因此我们可以假定第一个格子是否有雷的情况,递推求解。如果递推过程中发现一个格子中的地雷数大于一个或者少于零个,则说明这种情况不成立。 阅读全文
摘要:
思路: 基础动规。 阅读全文
摘要:
题目大意: 维护一个由'0'~'9'构成的字符串,支持以下两种操作: 1.将指定区间内的所有字符修改为同一指定字符。 2.询问$x$是否为指定区间内的循环节。 思路: 建立一棵线段树,维护每个子串的哈希值。 实现细节: 1.Lazy-tag需要初始化成$-1$,因为$0$也是字符串中的元素,会混淆。 阅读全文