hdu6060 RXD and dividing
题解:题目给出是一棵树,说明每条边都会用到,而每条边最多能用的次数为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相关推荐
- [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 ...
- RXD and dividing
题意:给出一棵有n个顶点的树,然后将2~n号顶点分成k块,求1号顶点到分成k块后各个顶点的最大权值和. 把1看成整棵树的根. 问题相当于把2\sim n2∼n每个点一个[1, k][1,k]的标号. ...
- 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 ...
- 728. Self Dividing Numbers
题目描述: A self-dividing number is a number that is divisible by every digit it contains. For example, ...
- 【已解决】单片机串口通讯中RXD与TXD如何连线?
首先我们需要明白两个概念,就是DTE和DCE.DTE是指数据终端设备,典型的DTE就是计算机和单片机.DCE是指数据通信设备,典型的DCE就是 MODEM. RS232串口标准中的RXD和TXD都是站 ...
- Dividing 多重背包 倍增DP
Dividing 给出n个物品的价值和数量,问是否能够平分. 1 #include <iostream> 2 #include <cstring> 3 #include < ...
- leetcode-728-Self Dividing Numbers
题目描述: A self-dividing number is a number that is divisible by every digit it contains. For example, ...
- HDU 6061 RXD and functions(NTT)
RXD and functions 首先是有一个结论,对多项式做任意多次 transformation ,其结果跟做一次 transformation Tr(f,∑i=1mai)Tr(f, \sum\ ...
- C#LeetCode刷题之#728-自除数(Self Dividing Numbers)
问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/3889 访问. 自除数 是指可以被它包含的每一位数除尽的数. 例如 ...
最新文章
- 青藤云安全张福:我们可以用“免疫系统”对抗黑客入侵吗?
- SDL2 自建对话框
- 饥荒海难创建显示专用服务器,饥荒创建世界时一直显示启动服务器 | 手游网游页游攻略大全...
- 同时面了腾讯三个部门,拿下offer!
- 基于Tensorflow实现FFM
- 织梦CMS被挂马特征汇总
- 列表显示新闻等信息,添加新消息图标
- 求最长XX序列的两种方法
- rdd数据存内存 数据量_Spark 性能优化(二)——数据倾斜优化
- Python实现桌面程序:PyQt5 + QtDesigner -- 界面设计与逻辑编写
- 如何理解数列极限和收敛性
- 2021-视频监控中的多目标跟踪综述
- 使用JSONP解决跨域
- App Extension应用扩展
- 全球及中国第三方物流行业竞争格局与十四五运作模式咨询报告2022版
- ubuntu安装git失败解决办法
- Java实现中国象棋(联机版)
- 常用的git命令(实用)
- 骁龙 820 车用处理器
- 疯狂Java讲义_五子棋代码
热门文章
- 【问题记录】04 MyBatis报错:Parameter ‘XXX‘ not found. Available parameters are [page, hashMap, param1, param
- mac 在调度中心关闭软件
- 如何用Python和循环神经网络预测严重交通拥堵?
- 可观测性-Metrics-存储-InfluxDb连续查询(CQ)Continuous Queries
- qq机器人代码c语言百度云,QQ机器人开源模块集合打包
- python中字符串也能进行关系比较操作_python3--基础综合测试
- 如何利用Dpabi,AFNI,FSL软件计算种子点的功能连接?
- 人工智能产品经理读书笔记7
- 引流是什么? 怎样学习引流?
- 启动容器后,即便映射了端口,使用docker ps 命令查看,ports列也是空