![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
树链剖分
WorldWide_D
这个作者很懒,什么都没留下…
展开
-
雨天的尾巴
Description深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。无奈的深绘里和村民们只好等待救济粮来维生。不过救济粮的发放方式很特别。首先村落里的一共有n 座房屋,并形成一个树状结构。然后救济粮分m 次发放,每次选择两个房屋(x,y)原创 2016-05-21 12:47:39 · 590 阅读 · 1 评论 -
[Tjoi2016&Heoi2016]树
Description在2016年,佳媛姐姐刚刚学习了树,非常开心。现在他想解决这样一个问题:给定一颗有根树(根为1),有以下两种操作:1. 标记操作:对某个结点打上标记(在最开始,只有结点1有标记,其他结点均无标记,而且对于某个结点,可以打多次标记。)2. 询问操作:询问某个结点最近的一个打了标记的祖先(这个结点本身也算自己的祖先)你能帮帮他吗?Input输入第一行两个正整数N和Q分别表示节点个数原创 2016-07-11 15:59:07 · 845 阅读 · 0 评论 -
[16.7.9训练]a
题目大意给你一个n个节点的树,初始时每个点的权值为0,并且每个点上有一个体重为a[i]的人。 现在有m个操作,每个操作有以下几种类型: 1. 给u,v的路径上所有点各放一个体重为value的人。 2. 给u,v的路径上所有点的权值都加上value 3. 询问u,v的路径上总重最大的人 4. 询问u,v的路径上总重最小的人 总重=体重+点的权值n≤100000 总重在int范围内原创 2016-07-09 14:32:18 · 332 阅读 · 0 评论 -
[codeforces536E] Tavas on the Path
题目大意给定一棵n个节点的树,每条边有边权。m个询问,形式为(u,v,l),问题是:u到v的路径,假设长度为m,第i条边权值为xi,构造一个长度为m的01串s,如果xi≥l,那么si=1,否则si=0。对于得到的串s,假设它有k段连续的1,第i段长度为pi,那么要你输出∑ki=1f[pi]\sum_{i=1}^k f[pi],其中f数组一开始就给出。n,m≤100000 权值,l≤10910^9原创 2017-02-01 17:33:52 · 538 阅读 · 0 评论 -
[bzoj3531]山东省选2014 travel
题目描述S国有N个城市,编号从1到N。城市间用N-1条双向道路连接,满足 从一个城市出发可以到达其它所有城市。每个城市信仰不同的宗教,如飞天面条神教、隐形独角兽教、绝地教都是常见的信仰。为了方便,我们用不同的正整数代表各种宗教, S国的居民常常旅行。旅行时他们总会走最短路,并且为了避免麻烦,只在信仰和他们相同的城市留宿。当然旅程的终点也是信仰与他相同的城市。S国政府为每个城市标定了不同的旅行评级原创 2016-03-19 13:51:56 · 820 阅读 · 3 评论 -
[codeforces117E]Tree or not Tree
题目大意给定一个n个点的环套树,每条边有开、关两个状态。接下来m次操作,每次给定一对数(x,y),对于x到y的最短路径(如果有多条就选择经过点字典序的一条),路径上经过所有边的状态取反(开变关,关变开)。每次操作后输出只考虑开状态的边时,有多少个联通块。 n,m≤100000分析考虑在树上怎么做。 最短路径只有一条,那么直接可以确定。 对于当前的树,它的联通块个数就是n-状态为开的边的个数(连原创 2017-03-08 22:41:50 · 648 阅读 · 0 评论 -
[bzoj4811] [Ynoi2017]由乃的OJ
题目大意给定一棵树,n个节点,问有多少个三元组(x,y,z)(x < y < z),满足这三个点在树上距离两两相等。 n≤100000分析你可以想到一个n方的dp:设f[i][j]表示i为根的子树中,与i距离为j的节点有多少个。g[i][j]表示i为根的子树中,有多少个二元组(x,y)(x < y)满足:设d表示它们到lca的距离都为d,它们的lca到i的距离为d-j。 那么做到i节点时,先递归原创 2017-09-14 18:49:59 · 635 阅读 · 0 评论