Transfer water HDU - 4009(最小树形图)
发布日期:2021-06-30 10:24:06 浏览次数:2 分类:技术文章

本文共 818 字,大约阅读时间需要 2 分钟。

前前后后调了几个小时,交了 30 30 30发…

原来板子是没错的,但是如果虚根是 0 0 0

那么每次的编号就要从 0 0 0

对应的 v i s vis vis i d id id数组就不能判断是否为 0 0 0

每次更新点数也要变化…

下次绝对不用下标 0 0 0的了…我吐了

#include 
using namespace std;const int maxn = 2e6+10;const int inf = 2e9;int n,m,root,X,Y,Z,top;int x[maxn],y[maxn],z[maxn];int dis(int l,int r){
return abs(x[l]-x[r])+abs(y[l]-y[r])+abs(z[l]-z[r]);}struct edge{
int u,v,w;}a[maxn];int pre[maxn],inw[maxn],id[maxn],vis[maxn];int zhuliu(int root,int n){
int ans=0; while( 1 ) {
for(int i=1;i<=n;i++) inw[i]=inf; for(int i=1; i<=top ;i++) {
int u=a[i].u,v=a[i].v; if( u!=v&&a[i].w
=z[id] ) a[top].w = dis(i,id)*Y; else a[top].w = dis(i,id)*Y+Z; } } for(int i=1;i<=n;i++) a[++top].u = n+1, a[top].v = i, a[top].w = z[i]*X; int ans = zhuliu(n+1,n+1); cout << ans << endl; }}

转载地址:https://issue-is-vegetable.blog.csdn.net/article/details/109672950 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HDU 4612 Warm up(重边+边双连通+树的直径)
下一篇:P4317 花神的数论题(数位dp模板)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年05月01日 14时39分57秒