树上差分——点差分裸题 P3128 [USACO15DEC]最大流Max Flow
讲解:
https://rpdreamer.blog.luogu.org/ci-fen-and-shu-shang-ci-fen

#include <bits/stdc++.h>
#define read read()
#define up(i,l,r) for(register int i = (l);i <= (r);i++)
#define down(i,l,r) for(register int i = (l);i >= (r);i--)
#define traversal_vedge(i) for(register int i = head[u]; i ;i = e[i].nxt)
#define ll long long
using namespace std;
int read
{
int x = , f = ; char ch = getchar();
while(ch < || ch > ) {if(ch == '-')f = -; ch = getchar();}
while(ch >= && ch <=) {x = * x + ch - ;ch = getchar();}
return x * f;
}
//--------------------------------------------------------------------
const int N = ;
int n,k;
struct edge{
int v,nxt;
}e[N<<]; int tot,head[N];
void add(int u,int v) {e[++tot] = (edge){v,head[u]};head[u] = tot;} int dep[N],size[N],fa[N],top[N];
int cnt[N],maxp = ; void dfs(int u)
{
dep[u] = dep[fa[u]]+;
size[u] = ;
top[u] = u;
int hson_id = ,hson_size = ;
traversal_vedge(i)
{
int v = e[i].v;
if(v == fa[u]) continue;
fa[v] = u;
dfs(v);
size[u] += size[v];
if(size[v] > hson_size) hson_id = v,hson_size = size[v];
}
if(hson_id) top[hson_id] = u;
} int find(int u)
{
if(top[u] == u) return u;
top[u] = find(top[u]);
return top[u];
} int lca(int x,int y)
{
if(find(x) != find(y))
{
if(dep[top[x]] > dep[top[y]]) return lca(fa[top[x]],y);
else return lca(x,fa[top[y]]);
}
return dep[x] > dep[y] ? y : x;
} void dfs_tree(int u)
{
traversal_vedge(i)
{
int v = e[i].v;
if(v == fa[u]) continue;
dfs_tree(v);
cnt[u] += cnt[v];
}
maxp = max(maxp,cnt[u]);
} void readdata()
{
n = read; k = read;
up(i,,n-)
{
int u = read, v = read;
add(u,v);
add(v,u);
}
dfs();
up(i,,k)
{
int u = read, v = read;
cnt[u]++; cnt[v]++;
int LCA = lca(u,v);
cnt[LCA]--; cnt[fa[LCA]]--;
}
dfs_tree();
printf("%d\n",maxp);
} int main()
{
freopen("input.txt","r",stdin);
readdata();
return ;
}
树上差分——点差分裸题 P3128 [USACO15DEC]最大流Max Flow的更多相关文章
- P3128 [USACO15DEC]最大流Max Flow(LCA+树上差分)
P3128 [USACO15DEC]最大流Max Flow 题目描述 Farmer John has installed a new system of pipes to transport mil ...
- 洛谷P3128 [USACO15DEC]最大流Max Flow
P3128 [USACO15DEC]最大流Max Flow 题目描述 Farmer John has installed a new system of N-1N−1 pipes to transpo ...
- 洛谷P3128 [USACO15DEC]最大流Max Flow(树上差分)
题意 题目链接 Sol 树上差分模板题 发现自己傻傻的分不清边差分和点差分 边差分就是对边进行操作,我们在\(u, v\)除加上\(val\),同时在\(lca\)处减去\(2 * val\) 点差分 ...
- 洛谷P3128 [USACO15DEC]最大流Max Flow [树链剖分]
题目描述 Farmer John has installed a new system of pipes to transport milk between the stalls in his b ...
- P3128 [USACO15DEC]最大流Max Flow (树上差分)
题目描述 Farmer John has installed a new system of N-1N−1 pipes to transport milk between the NN stalls ...
- 洛谷P3128 [USACO15DEC]最大流Max Flow (树上差分)
###题目链接### 题目大意: 给你一棵树,k 次操作,每次操作中有 a b 两点,这两点路上的所有点都被标记一次.问你 k 次操作之后,整棵树上的点中被标记的最大次数是多少. 分析: 1.由于数 ...
- luogu P3128 [USACO15DEC]最大流Max Flow (树上差分)
题目描述 Farmer John has installed a new system of N-1N−1 pipes to transport milk between the NN stalls ...
- 洛谷 P3128 [ USACO15DEC ] 最大流Max Flow —— 树上差分
题目:https://www.luogu.org/problemnew/show/P3128 倍增求 lca 也写错了活该第一次惨WA. 代码如下: #include<iostream> ...
- 题解——洛谷P3128 [USACO15DEC]最大流Max Flow
裸的树上差分 因为要求点权所以在点上差分即可 #include <cstdio> #include <algorithm> #include <cstring> u ...
随机推荐
- docker上部署nginx容器80端口自动转443端口
拉去nginx镜像 # docker pull nginx 运行nginx容器config用于拷贝nginx配置文件 # docker run --name nginxconfig -d docker ...
- ado.net调用带参数的存储过程
- 源码:Java集合源码之:哈希表(二)
要想知道一个元素是否在数组或链表中,只能从前向后挨个对比,无论是数组还是链表,其对数据的查询表现都比较无力.在的二叉排序树中,还会将数据排序以进行二分查找,将时间复杂度从O(n)降低到O(lg n). ...
- Solr——配置IK分词器
首先需要的准备好jdk1.8和tomcat8以及ik分词器(ik分词器是5.x的版本,和solr4.10搭配的版本不一样,虽然是5.x的版本但是也是能使用在solr7.2版本上的) 分享链接https ...
- 【亲测】502 Bad Gateway 怎么解决?
502 Bad Gateway 怎么解决? 1.什么是502 badgateway 报错 简单来说 502 是报错类型代码,bad gateway 错误的网关. 2.产生错误的原因 连接超时 具体原因 ...
- python-单元测试优化,加入日志
HttpRequests.py #-*- coding:utf-8 -*- import requests class HttpRequests(): def http_requests(self,u ...
- Python第2天
今天学习的主要内容: pycharm专业版的安装和注册,采用注册码的方式注册. 运算符,+ — * / // % < > <= >= != <> . 基本数据类型 ...
- kubernetes中service yaml文件的port作用
yaml文件 [root@k8s-master ~]# cat service-hello.yaml apiVersion: v1 kind: Service metadata: name: serv ...
- jq动画分析1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- MM-实际应用中的难题
SAP系统实际应用中的十大难题——塞依SAP培训 难题1:采购料维修 如果有物料坏了,需要退回给供应商处维修,此时一般不做退货.因为,第一,供应商不一定会乐意:第二,往来单据也无谓地增多:第三,最重要 ...