树上差分
青烟绕指柔!
我不怕千万人阻挡,只怕自己投降。
展开
-
HDU - 5452
题目链接:HDU - 5452因为树上只能割一条边,显然这条边割完之后,连接这条边两端的边必须全部割掉,我们维护每条边的答案即可。用树上差分维护。AC代码:#pragma GCC optimize("-Ofast","-funroll-all-loops")#include<bits/stdc++.h>//#define int long longusing namespace std;const int N=2e4+10;int n,m,pos[N],bl[N],sz[N]原创 2020-08-11 22:31:21 · 207 阅读 · 0 评论 -
运输计划
题目链接:运输计划考虑二分。二分之后我们就可以找到必须要链,然后做树上差分,找到公共的需要割的边。然后找到公共的最大值,和当前最大的链的值比较即可。AC代码:#pragma GCC optimize("-Ofast","-funroll-all-loops")#include<bits/stdc++.h>//#define int long longusing namespace std;const int N=6e5+10,M=N<<1;int n,m,po原创 2020-05-25 17:47:55 · 247 阅读 · 0 评论 -
Bribes
题目链接:Bribes显然,树上差分,分别维护上下路径,然后对当前路径讨论正反即可。AC代码:#pragma GCC optimize("-Ofast","-funroll-all-loops")#include<bits/stdc++.h>#define int long longusing namespace std;const int N=1e5+10,M=N*...原创 2020-04-23 21:10:03 · 645 阅读 · 0 评论 -
Codeforces - Alyona and a tree
题目链接:Codeforces - Alyona and a tree显然,我们可以对每一个点找到最远的影响到的祖先,然后树上差分即可。最远的祖先直接倍增往上跳即可。AC代码:#pragma GCC optimize("-Ofast","-funroll-all-loops")#include<bits/stdc++.h>#define int long longus...原创 2020-03-18 22:40:45 · 176 阅读 · 0 评论 -
Codeforces - Case of Computer Network
题目链接:Codeforces - Case of Computer Network显然可以先边双缩点。然后对于一个森林,任意两点的路径就唯一了,然后比如 x->y我们可以先 x->lca->y,所以我们可以对边定向,分为正边和反边,然后树上边差分即可。AC代码:#pragma GCC optimize("-Ofast","-funroll-all-loops")...原创 2020-03-17 13:14:17 · 152 阅读 · 0 评论 -
[Vani有约会]雨天的尾巴
题目背景深绘里一直很讨厌雨天。灼热的天气穿透了前半个夏天,后来一场大雨和随之而来的洪水,浇灭了一切。虽然深绘里家乡的小村落对洪水有着顽固的抵抗力,但也倒了几座老房子,几棵老树被连根拔起,以及田地里的粮食被弄得一片狼藉。无奈的深绘里和村民们只好等待救济粮来维生。不过救济粮的发放方式很特别。题目描述首先村落里的一共有n座房屋,并形成一个树状结构。然后救济粮分m次发放,每次选择两个房屋(x...原创 2019-11-26 10:53:40 · 270 阅读 · 0 评论 -
2019南昌网络赛 - Distance on the tree
DSM(Data Structure Master) once learned about tree when he was preparing for NOIP(National Olympiad in Informatics in Provinces) in Senior High School. So when in Data Structure Class in College, he i...原创 2019-11-05 20:29:55 · 153 阅读 · 0 评论 -
Count on a tree
题目描述给定一棵N个节点的树,每个点有一个权值,对于M个询问(u,v,k),你需要回答u xor lastans和v这两个节点间第K小的点权。其中lastans是上一个询问的答案,初始为0,即第一个询问的u是明文。输入格式第一行两个整数N,M。第二行有N个整数,其中第i个整数表示点i的权值。后面N-1行每行两个整数(x,y),表示点x到点y有一条边。最后M行每行两个整数(u,v,k),...原创 2019-11-05 12:52:41 · 506 阅读 · 4 评论 -
[USACO15DEC]最大流Max Flow
题目描述FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。输入格式The first line of the input...原创 2019-08-22 21:50:05 · 367 阅读 · 0 评论