2435: [Noi2011]道路修建
来源:互联网 发布:nginx的内置对象 编辑:程序博客网 时间:2024/05/22 08:11
题目链接
题目大意:n个点,建立生成树,边的费用等于道路长度乘以道路两端的国家个数之差的绝对值,给定方案,求费用
题解:树形dp,会dfs就可以做了
我的收获:这是noi……
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>using namespace std;const int M=1000005;int n,t,head[M],sz[M];long long ans;struct edge{int to,nex,val;}e[M*2];void add(int i,int j,int w){e[t].to=j,e[t].nex=head[i],e[t].val=w,head[i]=t++;}void dfs(int x,int fa){ sz[x]=1; for(int i=head[x];i!=-1;i=e[i].nex){ int v=e[i].to; if(v==fa) continue; dfs(v,x);sz[x]+=sz[v]; ans+=(long long)e[i].val*abs((n-sz[v])-sz[v]);// have known sz[v],not sz[x]…… }}void work(){ dfs(1,0); cout<<ans<<endl;}void init(){ int x,y,z; cin>>n;t=0; memset(head,-1,sizeof(head)); for(int i=1;i<n;i++) scanf("%d%d%d",&x,&y,&z),add(x,y,z),add(y,x,z);}int main(){ init(); work(); return 0;}
阅读全文
0 0
- 2435: [Noi2011]道路修建
- 2435: [Noi2011]道路修建
- 2435: [Noi2011]道路修建
- BZOJ 2435 NOI2011 道路修建 BFS/DFS
- bzoj 2435: [Noi2011]道路修建 乱搞/水题
- bzoj 2435: [Noi2011]道路修建 (dfs)
- 【bzoj 2435】[Noi2011]道路修建(dfs)
- BZOJ 2435 [Noi2011 D2T1] 道路修建
- bzoj 2435: [Noi2011]道路修建(DFS)
- 【NOI2011】道路修建
- bzoj2435: [Noi2011]道路修建
- NOI2011道路修建 TreeDp
- [BZOJ2435] [Noi2011]道路修建
- [BZOJ2435][Noi2011]道路修建
- bzoj2435[Noi2011] 道路修建
- BZOJ2435: [Noi2011]道路修建
- BZOJ2435: [Noi2011]道路修建
- 【bzoj2435】 NOI2011 道路修建 水题
- android developer tiny share-20170628
- 服务器跳转jsp:forward
- easyUI——easyui-textbox的onblure事件失效
- [leetcode]329. Longest Increasing Path in a Matrix
- HTML向FLASH传参数的3种方法
- 2435: [Noi2011]道路修建
- Sicily 1206. Stacking Cylinders | 使用STL的complex库实现简单几何
- 包含指令
- 史上最通俗易懂的接口回调
- 【转】JVM调优总结(七)-典型配置举例1
- nginx+tomcat集群,session共享
- hdu2586-LCA(tarjan法)-How far away ?
- SVN配置到myeclipse
- 最长公共子序列(易理解)