点击打开链接

RE了一辈子...

思路:树上dp,直接dfs找到每个点v的子节点有多少, 那么对答案的贡献是 w*abs((n-size[v])-size[v]);

RE代码:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const int maxn = 1100000;
 5
 6 vector<pair<ll,ll> > E[maxn<<1];
 7 ll size[maxn];
 8 ll n,ans;
 9 bool vis[maxn];
10
11 inline ll read()
12 {
13     ll x=0,f=1;char ch=getchar();
14     while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
15     while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
16     return x*f;
17 }
18
19 void dfs(ll u){
20     size[u] = 1;
21     for(int i=0; i<E[u].size(); i++){
22         int v = E[u][i].first, w = E[u][i].second;
23         if(!vis[v]){
24             vis[v] = 1;
25             dfs(v);
26             size[u] += size[v];
27             ans+=(ll)(w*(ll)abs((ll)(size[v]-(n-size[v]))));
28         }
29     }
30 }
31
32 int main(){
33     n = read();
34     for(int i=1; i<n; i++){
35         ll u,v,w; u=read(),v=read(),w=read();
36         E[u].push_back(make_pair(v,w));
37         E[v].push_back(make_pair(u,w));
38     }
39     vis[n] = 1;
40     dfs(n);
41     cout << ans << endl;
42 }

转载于:https://www.cnblogs.com/yxg123123/p/6827724.html

bzoj2435: [Noi2011]道路修建 树上dp相关推荐

  1. bzoj 2435: [Noi2011]道路修建 树上 dp

    2435: [Noi2011]道路修建 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pr ...

  2. BZOJ2435 [Noi2011]道路修建

    这是NOI11年题,你在逗我? 直接dfs就可以了,Linux下貌似不会爆栈... 1 /******************************************************* ...

  3. 【BZOJ-2435】道路修建 (树形DP?)DFS

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3115  Solved: 1002 [Submit][Sta ...

  4. 2435: [Noi2011]道路修建

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 2188  Solved: 639 [Submit][Stat ...

  5. 【bzoj 2435】[Noi2011]道路修建(dfs)

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 3505  Solved: 1167 [Submit][Sta ...

  6. bzoj 2435: [Noi2011]道路修建(DFS)

    2435: [Noi2011]道路修建 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 4110  Solved: 1429 [Submit][Sta ...

  7. bzoj 2435: [Noi2011]道路修建【树形dp】

    dp求size和deep,然后对每条边模拟求代价即可 #include<iostream> #include<cstdio> #include<algorithm> ...

  8. NOI2011 道路修建

    题目连接:http://221.192.240.123:8586/JudgeOnline/showproblem?problem_id=1670 题意自便. 相关知识:树的遍历,非递归DFS写法. 分 ...

  9. 算法提高——树上DP(树的直径)

    文章目录 前言 一.什么是树的直径? 二.例题 三.树上DP 总结 前言 树的直径是图论里边非常高的考察点并且是入门树形dp的基础,竞赛的同学务必重视. 一.什么是树的直径? 树上最远两点(叶子结点) ...

最新文章

  1. 非常强悍的 RabbitMQ 总结,写得真好!
  2. python解多项式方程_python – SymPy不能求解四阶多项式方程
  3. iOS 中的事件传递和响应机制 - 实践篇
  4. 安卓开发8-WebView支持文件上传
  5. java ios支付接口开发_微信支付接入(Android/IOS(swift)/Java后台)
  6. qtextbrowser 大量数据卡顿_800万行的数据,Excel 10秒钟就能完成统计?这个工具太良心了!...
  7. java基础系列:集合总结(5)
  8. python-模块入门二(模块循环导入,区分python文件的两种用途,模块搜索路径,软件开发的目录规范)...
  9. 数据库设计经验浅谈(3,4,5)转载
  10. 标记偏置 隐马尔科夫 最大熵马尔科夫 HMM MEMM
  11. KM算法--学习笔记
  12. 常用的Shell脚本集合
  13. js 实现购物车加减全选
  14. 泛微oa系统什么框架_泛微OA系统怎么样?与其他OA相比呢?
  15. 牛客假日团队赛6 F:Mud Puddles
  16. [应用广播], 一览华夏文化,诗词三万首震撼上线
  17. 服务器搭建邮件自动回复,爆笑的邮件自动回复内容,邮件自动回复心理
  18. PS基础 之 图层样式的使用
  19. 未来的电子计算机作文300字,未来的校园科幻作文300字(精选3篇)
  20. 好用的php博客系统,个人博客系统推荐 PHP开源好用的BLOG程序大全

热门文章

  1. 在ubuntu 12.04上安装tomcat 7.40
  2. Entity Framework在WCF中序列化的问题(转)
  3. 12.13记录//QQDemo示例程序源代码
  4. [转贴]怎样规划你毕业以后的人生
  5. 卡巴绿杀6 By Moshow魔手
  6. PYTHON招聘需求与技能体系
  7. 弹出div或者弹出新窗口的固定位置、固定大小
  8. JavaScript与HTML交互——事件
  9. ScaleAnimation动画
  10. 二、【List、Set、数据结构、Collections】