题解:题目给出是一棵树,说明每条边都会用到,而每条边最多能用的次数为min(以该边连接的子节点为根的子树大小,k)

#include<iostream>
#include<stdio.h>
#include<string.h>
#include<vector>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn=1e6+10;
struct edge{int v,w;
};
int n,cnt,k,fa[maxn],sz[maxn],w[maxn],q[maxn];
ll ans;
bool vis[maxn];
vector<edge> e[maxn];
void bfs(){q[++cnt]=1;vis[1]=1;int cur=0;while(cur<cnt){int u=q[++cur];for(int i=0;i<e[u].size();i++){int v=e[u][i].v;if(!vis[v]) q[++cnt]=v,fa[v]=u,w[v]=e[u][i].w,vis[v]=1;}}for(int i=cnt;i>0;i--){int u=q[i];sz[u]++,sz[fa[u]]+=sz[u];}for(int i=1;i<=n;i++) ans+=1ll*min(k,sz[i])*w[i];
}
int main(){while(scanf("%d%d",&n,&k)!=EOF){ans=cnt=0;for(int i=1;i<=n;i++) vis[i]=sz[i]=fa[i]=0,e[i].clear();for(int u,v,w,i=1;i<n;i++){scanf("%d%d%d",&u,&v,&w);e[u].push_back(edge{v,w});e[v].push_back(edge{u,w});}bfs();printf("%lld\n",ans);}
}

hdu6060 RXD and dividing相关推荐

  1. [HDU]-6060 RXD and dividing

    URL : http://acm.hdu.edu.cn/showproblem.php?pid=6060 RXD has a tree T, with the size of n. Each edge ...

  2. RXD and dividing

    题意:给出一棵有n个顶点的树,然后将2~n号顶点分成k块,求1号顶点到分成k块后各个顶点的最大权值和. 把1看成整棵树的根. 问题相当于把2\sim n2∼n每个点一个[1, k][1,k]的标号. ...

  3. 2017 多校3 hdu 6061 RXD and functions

    2017 多校3 hdu 6061 RXD and functions(FFT) 题意: 给一个函数\(f(x)=\sum_{i=0}^{n}c_i \cdot x^{i}\) 求\(g(x) = f ...

  4. 728. Self Dividing Numbers

    题目描述: A self-dividing number is a number that is divisible by every digit it contains. For example, ...

  5. 【已解决】单片机串口通讯中RXD与TXD如何连线?

    首先我们需要明白两个概念,就是DTE和DCE.DTE是指数据终端设备,典型的DTE就是计算机和单片机.DCE是指数据通信设备,典型的DCE就是 MODEM. RS232串口标准中的RXD和TXD都是站 ...

  6. Dividing 多重背包 倍增DP

    Dividing 给出n个物品的价值和数量,问是否能够平分. 1 #include <iostream> 2 #include <cstring> 3 #include < ...

  7. leetcode-728-Self Dividing Numbers

    题目描述: A self-dividing number is a number that is divisible by every digit it contains. For example, ...

  8. HDU 6061 RXD and functions(NTT)

    RXD and functions 首先是有一个结论,对多项式做任意多次 transformation ,其结果跟做一次 transformation Tr(f,∑i=1mai)Tr(f, \sum\ ...

  9. C#LeetCode刷题之#728-自除数(Self Dividing Numbers)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3889 访问. 自除数 是指可以被它包含的每一位数除尽的数. 例如 ...

最新文章

  1. 青藤云安全张福:我们可以用“免疫系统”对抗黑客入侵吗?
  2. SDL2 自建对话框
  3. 饥荒海难创建显示专用服务器,饥荒创建世界时一直显示启动服务器 | 手游网游页游攻略大全...
  4. 同时面了腾讯三个部门,拿下offer!
  5. 基于Tensorflow实现FFM
  6. 织梦CMS被挂马特征汇总
  7. 列表显示新闻等信息,添加新消息图标
  8. 求最长XX序列的两种方法
  9. rdd数据存内存 数据量_Spark 性能优化(二)——数据倾斜优化
  10. Python实现桌面程序:PyQt5 + QtDesigner -- 界面设计与逻辑编写
  11. 如何理解数列极限和收敛性
  12. 2021-视频监控中的多目标跟踪综述
  13. 使用JSONP解决跨域
  14. App Extension应用扩展
  15. 全球及中国第三方物流行业竞争格局与十四五运作模式咨询报告2022版
  16. ubuntu安装git失败解决办法
  17. Java实现中国象棋(联机版)
  18. 常用的git命令(实用)
  19. 骁龙 820 车用处理器
  20. 疯狂Java讲义_五子棋代码

热门文章

  1. 【问题记录】04 MyBatis报错:Parameter ‘XXX‘ not found. Available parameters are [page, hashMap, param1, param
  2. mac 在调度中心关闭软件
  3. 如何用Python和循环神经网络预测严重交通拥堵?
  4. 可观测性-Metrics-存储-InfluxDb连续查询(CQ)Continuous Queries
  5. qq机器人代码c语言百度云,QQ机器人开源模块集合打包
  6. python中字符串也能进行关系比较操作_python3--基础综合测试
  7. 如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?
  8. 人工智能产品经理读书笔记7
  9. 引流是什么? 怎样学习引流?
  10. 启动容器后,即便映射了端口,使用docker ps 命令查看,ports列也是空