题目:【NOIP2008模拟】小x游世界树;

题目的附加题解给的很清楚,这里只给一个代码;

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#define ms(a,x) memset(a,x,sizeof(a))
#define ll long long
using namespace std;
const int MAXN=;
struct node{
int y,nxt;ll z;
}edge[MAXN*];int indx=,n,head[MAXN];
ll a[MAXN],ans=0x7fffffffff,rt=,siz[MAXN],f[MAXN];
void add(int x,int y,ll z){
edge[++indx].y=y;edge[indx].z=z;
edge[indx].nxt=head[x];head[x]=indx;
}
void dp(int x,int fa){
siz[x]=;
for(int i=head[x],y;~i;i=edge[i].nxt){
if((y=edge[i].y)==fa) continue;
dp(y,x);f[x]+=1LL*edge[i].z*siz[y];
siz[x]+=siz[y];f[x]+=f[y];
} return ;
}
void dfs(int x,int fa,ll la,ll v){
la-=v*siz[x];
for(int i=head[x];~i;i=edge[i].nxt){
if(edge[i].y!=fa) continue;
la+=edge[i].z*(n-siz[x]);break;
} if(la<ans) ans=la,rt=x;
else if(la==ans) rt=min((int)x,(int)rt);
for(int i=head[x],y;~i;i=edge[i].nxt){
if((y=edge[i].y)==fa) continue;
dfs(y,x,la,edge[i].z);
} return ;
}
int main(){
// freopen("yggdrasil.in","r",stdin);
// freopen("yggdrasil.out","w",stdout);
scanf("%d",&n);ms(head,-);
for(int i=;i<=n;i++) scanf("%lld",&a[i]);
for(int i=,x,y;i<n;i++){
ll z;scanf("%d%d%lld",&x,&y,&z);
add(x,y,a[x]>?z-a[x]:z);
add(y,x,a[y]>?z-a[y]:z);
} dp(,-);ans=min(ans,f[rt]);
for(int i=head[];~i;i=edge[i].nxt)
dfs(edge[i].y,,f[],edge[i].z);
printf("%lld\n%lld\n",rt,ans);
return ;
}

树形DP与换根

JZOJ5776. 【NOIP2008模拟】小x游世界树的更多相关文章

  1. JZOJ 5776. 【NOIP2008模拟】小x游世界树

    5776. [NOIP2008模拟]小x游世界树 (File IO): input:yggdrasil.in output:yggdrasil.out Time Limits: 1500 ms  Me ...

  2. [题解](树形dp/换根)小x游世界树

    2. 小x游世界树 (yggdrasi.pas/c/cpp) [问题描述] 小x得到了一个(不可靠的)小道消息,传说中的神岛阿瓦隆在格陵兰海的某处,据说那里埋藏着亚瑟王的宝藏,这引起了小x的好奇,但当 ...

  3. [jzoj 5776]【NOIP2008模拟】小x游世界树 (树形dp)

    传送门 Description 小x得到了一个(不可靠的)小道消息,传说中的神岛阿瓦隆在格陵兰海的某处,据说那里埋藏着亚瑟王的宝藏,这引起了小x的好奇,但当他想前往阿瓦隆时发现那里只有圣诞节时才能到达 ...

  4. JZOJ 5777. 【NOIP2008模拟】小x玩游戏

    5777. [NOIP2008模拟]小x玩游戏 (File IO): input:game.in output:game.out Time Limits: 1000 ms  Memory Limits ...

  5. JZOJ 5793. 【NOIP2008模拟】小S练跑步

    5793. [NOIP2008模拟]小S练跑步 (File IO): input:run.in output:run.out Time Limits: 2000 ms  Memory Limits:  ...

  6. JZOJ 5775. 【NOIP2008模拟】农夫约的假期

    5775. [NOIP2008模拟]农夫约的假期 (File IO): input:shuru.in output:shuru.out Time Limits: 1000 ms  Memory Lim ...

  7. JZOJ 5773. 【NOIP2008模拟】简单数学题

    5773. [NOIP2008模拟]简单数学题 (File IO): input:math.in output:math.out Time Limits: 1000 ms  Memory Limits ...

  8. JZOJ 5809. 【NOIP2008模拟】数羊

    5809. [NOIP2008模拟]数羊 (File IO): input:sheep.in output:sheep.out Time Limits: 1000 ms  Memory Limits: ...

  9. JZOJ 5791. 【NOIP2008模拟】阶乘

    5791. [NOIP2008模拟]阶乘 (File IO): input:factorial.in output:factorial.out Time Limits: 1000 ms  Memory ...

随机推荐

  1. 使用VirtualBox虚拟机搭建局域网

    参考资料: http://www.awaimai.com/995.html https://my.oschina.net/cofecafe1/blog/206535 最近公司局域网网络改造,在改造前已 ...

  2. Spring Shell简单应用

    大致:想要使用Spring Shell,则项目需要是 Spring Boot项目,下面贴出结构和代码 1.POM依赖 <?xml version="1.0" encoding ...

  3. Codeforces Round #209 (Div. 2) C - Prime Number

    传送门 题意 给出n个数及x,求 \[\frac{\sum _{i=1}^n x^{a_1+a_2+...+a_{i-1}+a_{i+1}+...a_n}}{\prod_{i=1}^n x^{a_i} ...

  4. 阿里云CentOS7.4启动Tomcat9没有报错,端口已经开放,但是浏览器一直等待响应解决办法7

    tomcat9,启动和退出均无报错.centOS7.4防火墙已关闭,阿里云防火墙已经开放端口,telnet测试服务器的端口也通过了,**浏览器访问以后没有提示"无法访问",而是一直 ...

  5. B Balala Power!

    Bryce1010模板 每个字母所在位置对应权值加和,肯定存不下. 但我们只需要26个字母对应值之间的关系即可,开一个数组a[i][j]分别记录字母i在j这个位置上出现了多少次,对于大于26的值进位, ...

  6. ASP.NET MVC 实现伪静态

    1  什么是伪静态? 现在很多门户网站或者各大电商平台的网站的链接最后都是.htm或者.htm结尾,那么他们的网页真的是静态的html吗?拿京东来说,有无数个页面都都Html,在商品每时每刻都可能被更 ...

  7. Laravel5中防止XSS跨站攻击的方法

    本文实例讲述了Laravel5中防止XSS跨站攻击的方法.分享给大家供大家参考,具体如下: Laravel 5本身没有这个能力来防止xss跨站攻击了,但是这它可以使用Purifier 扩展包集成 HT ...

  8. c# -反射 初见

    反射是一个很强大的功能,不过好像有些消耗性能,大家慎重使用. 1.反射是干什么的? 通过反射,我们可与获取程序集中的原数据. 1.什么是程序集? dll.exe  这些将很多能实现具体功能的代码封装起 ...

  9. 解决 图片在div中等比例缩放问题 (未解决:图片比例小于盒子模型时不会自动填充)

    如题,该方案仅支持对图片等比例缩放.本文附件地址:https://files.cnblogs.com/files/john69-/background-Img.rar <!DOCTYPE htm ...

  10. ReactJS-0-React介绍

    React介绍: React是一个库而不是一个MVC框架,因为React只负责解决MVC框架中V(View)层面的问题,React致力于创建可重用的UI组件.(React is a library f ...