P3128-最大流Max Flow【树上差分,LCA】

正题


题目大意

一棵树
若干条路径,哪个点经过的路径最多,求路径条数。


解题思路

对于每条路径计算一次LCALCALCA,然后树上差分就好了。


codecodecode

#include<cstdio>
#include<queue>
#include<cmath>
using namespace std;
const int N=50010;
struct node{int to,next;
}a[N*2];
int tot,ls[N],dep[N],f[N][20],c[N];
int y,n,k,t,ans;
queue<int> q;
void addl(int x,int y)
{a[++tot].to=y;a[tot].next=ls[x];ls[x]=tot;
}
void bfs()
{t=(int)(log(n)/log(2))+1;q.push(1);dep[1]=1;while(!q.empty()){int x=q.front();q.pop();for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(dep[y]) continue;dep[y]=dep[x]+1;f[y][0]=x;q.push(y);}}for(int j=1;j<=t;j++)for(int i=1;i<=n;i++)f[i][j]=f[f[i][j-1]][j-1];
}
int LCA(int x,int y)
{if(dep[x]>dep[y]) swap(x,y);for(int i=t;i>=0;i--)if(dep[f[y][i]]>=dep[x])y=f[y][i];if(x==y) return x;for(int i=t;i>=0;i--)if(f[y][i]!=f[x][i]){y=f[y][i];x=f[x][i];}return f[x][0];
}
void get_ans(int x)
{for(int i=ls[x];i;i=a[i].next){int y=a[i].to;if(dep[x]+1!=dep[y]) continue;get_ans(y);c[x]+=c[y];}ans=max(ans,c[x]);
}
int main()
{scanf("%d%d",&n,&k);for(int i=1;i<n;i++){int x,y;scanf("%d%d",&x,&y);addl(x,y);addl(y,x);}bfs();for(int i=1;i<=k;i++){int s,e,lca;scanf("%d%d",&s,&e);lca=LCA(s,e);c[s]++;c[e]++;c[lca]--;c[f[lca][0]]--;}get_ans(1);printf("%d",ans);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322805.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IdentityServer4(10)- 添加对外部认证的支持之QQ登录

前言 前面我们提到过IdentityServer4是可以添加外部认证的&#xff0c;如果外部认证支持OAuth2&#xff0c;那么添加到IdentityServer4是非常简单的&#xff0c;在ASP.NET Core下提供了非常多的外部认证实现&#xff0c;比如Google&#xff0c;Facebook&#xff0c;Twitter&…

css字体样式

以下写几个常用的字体样式&#xff0c;方便以后使用&#xff1a; font-family: FangSong;font-weight: bold;font-size: 20px;font-style: italic;text-decoration: underline;letter-spacing: 1em;line-height: 2em;简写&#xff1a;font:bold 20px FangSong样式作用font-fami…

springboot 多数据源mybatis的两种整合方法

转载自 springboot-mybatis多数据源的两种整合方法 简介&#xff1a; 随着并发量的不断增加&#xff0c;显然单个数据库已经承受不了高并发带来的压力。一个项目使用多个数据库&#xff08;无论是主从复制- - 读写分离还是分布式数据库结构&#xff09;的重要性变得越来越明显…

P1373-小a和uim之大逃离【dp】

正题 题目大意 n∗mn*mn∗m的矩阵有不同的权值&#xff0c;每次只可以往下走或往右走。要求走奇数次&#xff0c;要求偶数次经过的点和奇数次经过的点同余KKK 解题思路 设fi,j,k,0/1f_{i,j,k,0/1}fi,j,k,0/1​表示在第iii行jjj列&#xff0c;两个数只差为kkk&#xff0c;是奇数…

项目实战+感慨

已经好久没写博客了&#xff0c;自从接触了项目以后&#xff0c;发现很难再挤出时间来写博客&#xff0c;大部分时间都是在关注项目的进展&#xff0c;以及查阅相关的资料。我想这也是很多程序员入职以后就很少写博客的原因。 前言 最近一段时间我接触了很多前端的东西&#x…

解决mybatis generator无法覆盖XML

转载自 解决mybatis generator无法覆盖XML 今天发现mybatis generator maven plugin在重复生成的时候xml文件只会merge&#xff0c;不会覆盖。 明明在pom.xml中配置了如下&#xff1a; <configuration><configurationFile>src/main/resources/mybatis/generato…

laravel构造器的CURD

这里主要记一下关于用laravel写相关接口的一些知识点&#xff0c;方便以后查阅&#xff0c;基本都是Controller里面的一些操作 查询数据&#xff1a; // 查询数据$query DB::table(think_data)->where([ [status,>,500]])->get();插入数据&#xff1a; // 新增单条数…

亿些模板【图论】

文章目录前言图论模板最短路-Floyd最短路-SPFA最短路-Dij堆优化最小生成树-Kruskal最小生成树-Prim堆优化最大匹配-匈牙利算法tarjan求割点tarjan缩点LCA-树上倍增LCA-tarjan并查集优化网络流-最大流dinic网络流-最小费用最大流负环虚树2-SATKruskal重构树静态仙人掌前言 因为…

中间件中渲染Razor视图

前言 上一篇文章《ASP.NET Core 奇技淫巧&#xff08;1&#xff09;&#xff1a;中间件实现服务端静态化缓存》中介绍了中间件的使用方法、以及使用中间件实现服务端静态化缓存的功能。本系列文章取名“奇技淫巧”不是没道理的&#xff0c;因为这写技巧都是我最近在做的公司实际…

解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketExceptionsocket closed

转载自 解决idea启动项目报错:Unable to open debugger port(127.0.0.1:60157):java.net.SocketException"socket closed 1.问题描述: 工作当中免不了要重启服务,debug模式下偶尔启动项目,却启动失败报错: Unable to open debugger port (127.0.0.1:60157): java.net.S…

python3如何连接mysql数据库

原本连接数据库用的是mysql_python&#xff0c;但发现无论怎么安装都装不上去&#xff0c;pip和手动安装都失败了 后来才知道用pymysql才是3版本以后最好适用的 命令 pip3 install PyMySQL连接数据库 import pymysql conn pymysql.connect(localhost, root, 123456)

亿些模板【数据结构】

文章目录前言数据结构模板并查集带权并查集堆hash表RMQ线段树树状数组树状数组区间修改版分块主席树有旋TreapSplay替罪羊树文艺平衡树-Splay点分治树链剖分可持久化并查集LCT左偏树前言 因为老是懒得打模板的时候老是扣不到自己的标(因为之前的都打得太丑了)&#xff0c;所以…

下一个计划 : .NET/.NET Core应用性能管理

前言 最近几个月一直在研究开源的APM和监控方案&#xff0c;并对比使用了Zipkin,CAT,Sky-walking,PinPoint(仅对比,未实际部署),Elastic APM,TICK Stack,Prometheus等开源产品&#xff0c;其中不乏功能强大的监控和追踪系统&#xff0c;但它们都对.NET/.NET Core没有支持或支持…

详解proxy_pass、upstream与resolver

转载自 详解proxy_pass、upstream与resolver 应用场景 这里列举几个应用场景&#xff0c;下文会针对这几个场景并结合代码进行分析。 &#xff08;1&#xff09;proxy_pass upstream upstream foo.example.com {server 127.0.0.1:8001;}server {listen 80;server_na…

如何用python将srt文件转化成数组形式

原srt文件 0 00:00:00,150 --> 00:00:11,430 Fighting this pandemic needs political commitment and commitment at the highest level possible and the Presidents commitment.1 00:00:11,431 --> 00:00:16,020 you have what it is in it and the would it have se…

架构演化:云原生时代开启之系列一演化篇

信息技术从出现伊始到渐成主流&#xff0c;其趋势经历了软件、开源和云三个阶段&#xff1a; 软件改变世界。纵观人类社会漫长的发展历程&#xff0c;农耕时代、工业时代与信息时代可谓是三个明显分水岭&#xff0c;每个时代人类涉及的领域范畴均喷井式增长。作为信息时代最重要…

mysql出现unblock with 'mysqladmin flush-hosts'

转载自 mysql出现unblock with mysqladmin flush-hosts 朋友发来消息&#xff0c;说一个系统应用登录的时候提示连接超时&#xff0c;让帮忙处理一下。 问他应用和数据库是否都正常&#xff0c;回复说数据库好像没有问题&#xff0c;但是应用日志报无法连接数据库。 数据库版…

laravel部署到服务器显示Permission denied

解决这个问题可以先cd到项目根目录中 依次输入以下两个命令 find storage -type d -exec chmod 777 {} \;find storage -type f -exec chmod 777 {} \;不报错就证明成功了

亿些模板【数论数学】

文章目录前言数论数学模板GCDexgcd快速幂线性推逆元线性推逆元(非连续)逆元求组合数矩阵乘法线性筛素数-埃氏筛线性筛素数-线性筛线性筛欧拉-埃氏筛线性求欧拉龟速乘FFTNTT分治FFT多项式求逆扩展中国剩余定理Lucas定理高斯消元BSGS拉格朗日插值二次剩余线性基杜教筛前言 因为老…

基于OIDC(OpenID Connect)的SSO

在[认证授权]系列博客中&#xff0c;分别对OAuth2和OIDC在理论概念方面进行了解释说明&#xff0c;其间虽然我有写过一个完整的示例&#xff08;https://github.com/linianhui/oidc.example&#xff09;&#xff0c;但是却没有在实践方面做出过解释。在这里新开一个系列博客&am…