![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
点分治
CR1SceNT
这个作者很懒,什么都没留下…
展开
-
BZOJ2152: 聪聪可可
题目链接【分析】问多少对点距离为3的倍数。点分治模板。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#define N 20005#define原创 2017-01-02 15:49:52 · 227 阅读 · 0 评论 -
POJ1741
题目链接【分析】点分治。 考虑当前子树中,一条路径要么经过根节点,要么在一棵子树中,在子树中的可以递归处理,所以当前统计时需要减掉。 推荐看09年漆子超论文。【代码】#include <cstdio>#include <iostream>#include <queue>#include <vector>#include <algorithm>#include <cstring>#in原创 2017-01-02 15:16:49 · 343 阅读 · 0 评论 -
BZOJ2599: [IOI2011]Race
题目链接%%%http://hzwer.com/4286.html【代码】#include <iostream> #include <cstdio> #include <string> #include <cstring>#include <vector>#include <queue>#include <map>#include <stack>#include <algorith原创 2017-01-02 19:28:21 · 206 阅读 · 0 评论 -
HDU4812:D Tree
Portal【题意】N个节点的树,每个点权值vivi,求树上是否存在一条路径,使得路径上权值乘积模106+310^{6}+3为KK,若存在,输出路径两端点,若有多解,输出字典序最小解。【分析】很好的一道题。 求树上点对的问题,容易想到点分治,但是点分治后判断两个点乘积取模后为KK,直接做要n2n^{2},复杂度无法接受。然后我们考虑xy≡Kmod(106+3)xy\equiv{Kmod(10^{6原创 2017-03-14 19:04:31 · 377 阅读 · 0 评论 -
BZOJ4598: [Sdoi2016]模式字符串
BZOJ4598求树上满足某些条件的点对,首先就可以想到点分治。 然后又与什么字符串匹配有关。KMP,AC自动机……KMP,AC自动机……之类的好像不太好用。。那就哈希吧! 添加答案的时候有两种情况: 那么就分别维护从上到下的链和从下到上的链。不是所有链都存的,仅当“从该点到当前根的一段是若干个模式串的前缀或者后缀”时才存。 发现当长度为aa时,不仅m−am-a可以更新答案,长度为km−ak原创 2017-06-08 15:56:17 · 560 阅读 · 0 评论