上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页
摘要: 题目链接 定义一个点 \((x,y)\) 的斜率为 \(\dfrac {y}{x}\) ,两个点可以被删除当且仅当两个点的斜率相同。 那么考虑将原来图中的每个点 \((x_i,y_i)\) 看成边,连接 \((x_i + 1,y_i)\) 和 \((x_i,y_i+1)\) 的斜率两点,那么相当于求 阅读全文
posted @ 2021-10-16 13:01 Themaxmaxmax 阅读(73) 评论(0) 推荐(0) 编辑
摘要: 考虑用维护点权去确定边权。 考察边 \((u,v)\) 边权是 \(1\) 的性质: 边 \((u,v)\) 边权是 \(1\) 当且仅当点 \(u\) 和点 \(v\) 最后一次被操作的时刻相同。 阅读全文
posted @ 2021-10-15 19:30 Themaxmaxmax 阅读(33) 评论(0) 推荐(0) 编辑
摘要: 题目链接 一个直接的想法是考虑状态 \(f[x_1,y_1,x_2,y_2]\) 表示要移动的棋子在 \((x_1,y_1)\) ,空白位置为 \((x_2,y_2)\) 之间的转移,每次询问 BFS 最短路即可,复杂度为 \(O(q(nm)^2)\) 。 我们实质上关心的是棋子是否能从一个位置移动 阅读全文
posted @ 2021-10-15 14:40 Themaxmaxmax 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 题目链接 \(p\) 是字符串 \(S\) 的整周期当且仅当 \(p|(|S|-bd(S))\) 且 \((|S|-bd(S)) | |S|\) 。 一个直接的想法是枚举 \(C\) 然后枚举 \(AB\) 。 但是这个做法会受到枚举因数的 \(O(\sqrt{n})\) 复杂度限制。 技巧:枚举因 阅读全文
posted @ 2021-10-14 22:15 Themaxmaxmax 阅读(37) 评论(0) 推荐(0) 编辑
摘要: 对于序列上的问题,我们将限制转到了点上得以 dp 。 对于树上也类似,因为每个点的父亲是唯一确定的,因此考虑用下面的点刻画限制于状态。 对于每个限制 \((u,v)\) 可以转化成 \(v\) 向上第一个 \(1\) 的深度大于等于 xx 。 考虑令 \(f[u][i]\) 为 \(u\) 上面第一 阅读全文
posted @ 2021-10-12 18:22 Themaxmaxmax 阅读(36) 评论(0) 推荐(0) 编辑
摘要: struct hash{ const int P = 1313131; int n,mod,f[N],p[N]; char str[N]; inline int calc(int l,int r) { return (1ll * f[r] - 1ll * f[l-1] * p[r - l + 1] 阅读全文
posted @ 2021-10-12 12:16 Themaxmaxmax 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 回文与 manacher P3805 【模板】manacher 算法 manacher 模板 代码记录 P1659 [国家集训队]拉拉队排练 题目链接 考虑预处理出所有回文半径为 \(i\) 的回文串个数 \(cnt_i\) ,manacher 时进行一个前缀加,差分 + 前缀和处理即可。 对于 x 阅读全文
posted @ 2021-10-11 13:49 Themaxmaxmax 阅读(60) 评论(0) 推荐(0) 编辑
摘要: 考虑长度为 \(n\) 的合法括号匹配序列 \(s\) 的一个等价转换: 令 \(val(s,i) = S_i =\sum_{j=1}^i (-1)^{[s[i]==')']}\) \(\forall 1\le i\le n,S_i\ge 0,S_n=0\) 。 令 \(f[S]\) 为由 \(S\ 阅读全文
posted @ 2021-10-10 21:38 Themaxmaxmax 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题目链接 一个知识点:给定 \(n\) 条线段 \([l_i,r_i]\) ,将所有 \(l_i\le l_j\le r_j\le r_i\) 的线段只保留 \([l_j,r_j]\) ,后按右端点递增排序,左端点也递增。 一个简单的问题模型 给定 \(m\) 个限制 \((l_i,r_i)\),要 阅读全文
posted @ 2021-10-09 19:15 Themaxmaxmax 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目链接 考虑用并查集维护 每个位置右边第一个黑点的位置。 若每个点所在的并查集的根节点都是其右边第一个黑点的位置,因为黑点右边第一个黑点一定是自己且并查集的根节点均为黑点因此 \(\text{并查集个数} = \text{黑点个数}\) 。 每次从左往右合并区间即可。 复杂度分析: 每次访问的点数 阅读全文
posted @ 2021-10-09 13:49 Themaxmaxmax 阅读(42) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 11 下一页