1029E.Tree with Small Distances(经典树dp)
发布日期:2021-06-30 10:24:54
浏览次数:2
分类:技术文章
本文共 1335 字,大约阅读时间需要 4 分钟。
观察发现一定是从 1 1 1连出来的边最划算
而且连到一个点之后,这个点周围的所有点都是满足要求的.
定义 f [ u ] [ 1 ] f[u][1] f[u][1]为和 1 1 1有连边
f [ u ] [ 2 ] f[u][2] f[u][2]为通过父亲到 1 1 1
f [ u ] [ 3 ] f[u][3] f[u][3]为通过儿子到 1 1 1
那么 f [ u ] [ 1 ] = ∑ v m i n ( f [ v ] [ 1 ] , f [ v ] [ 2 ] , f [ v ] [ 3 ] ) f[u][1]=\sum\limits_{v}min(f[v][1],f[v][2],f[v][3]) f[u][1]=v∑min(f[v][1],f[v][2],f[v][3])
那么 f [ u ] [ 2 ] = ∑ v m i n ( f [ v ] [ 1 ] , f [ v ] [ 3 ] ) f[u][2]=\sum\limits_vmin(f[v][1],f[v][3]) f[u][2]=v∑min(f[v][1],f[v][3])
f [ u ] [ 3 ] = f [ u ] [ 2 ] f[u][3]=f[u][2] f[u][3]=f[u][2]
但是如果 u u u的儿子没有一个和 1 1 1有边,还需要选一个儿子和 1 1 1相连…
#includeusing namespace std;const int maxn = 4e5+10;struct edge{ int to,nxt;}d[maxn]; int head[maxn],cnt=1;void add(int u,int v){ d[++cnt]=(edge){ v,head[u]},head[u] = cnt;}int n,f[maxn][3],ans;//1表示直接相连//2表示经过父亲再到自己//3表示经过儿子再到自己 void dfs(int u,int fa,int dep){ if( dep>=2 ) f[u][1] =1; int minn = 1e9; for(int i=head[u];i;i=d[i].nxt ) { int v = d[i].to; if( v==fa ) continue; dfs(v,u,dep+1); f[u][1] += min( { f[v][1],f[v][2],f[v][3]} ); f[u][2] += min( f[v][1],f[v][3] ); minn = min( minn,f[v][1]-f[v][3] ); } f[u][3] = f[u][2]+max(0,minn);}int main(){ cin >> n; for(int i=1;i > l >> r; add(l,r); add(r,l); } dfs(1,0,0); for(int i=head[1];i;i=d[i].nxt ) ans += f[d[i].to][1]; cout << ans;}
转载地址:https://issue-is-vegetable.blog.csdn.net/article/details/110203203 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月10日 07时47分01秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Dataset数据读取
2019-04-30
ResNet网络理解
2019-04-30
架构设计 分布式系统调度,Zookeeper集群化管理
2019-04-30
数据源管理 (一)
2019-04-30
数据源管理(二)
2019-04-30
数据源管理(三)
2019-04-30
数据源管理(四)
2019-04-30
数据源管理(五)
2019-04-30
数据源管理(六)
2019-04-30
数据源管理(七)
2019-04-30
数据源管理(八)
2019-04-30
分布式服务与库表设计
2019-04-30
Css布局口诀
2019-04-30
超详细常用css布局
2019-04-30
css 各种常见布局整理
2019-04-30
CSS布局大全
2019-04-30
C++读取配置文件代码
2019-04-30
数据库SQL优化大总结之 百万级数据库优化方案
2019-04-30
数据库性能优化一:数据库自身优化(大数据量)
2019-04-30
MYSQL数据库语句优化
2019-04-30