题意 给了 一颗 有 100000 个节点的树, 他们构成的边有 n*(n-1)/2 种。 每条边有一个长度,长度排序后 取前K条的 和, 枚举每条长度为1 的边 放进队列,然后通过成都为1 的表去 形成长度为2的边,然后不断地接下去, 枚举到 K个就可以了 K <1000000

#include <iostream>
#include <algorithm>
#include <string.h>
#include <cstdio>
#include <queue>
#include <vector>
using namespace std;
const int maxn=;
typedef long long ll;
struct point{
int L,R;
int Rper;
ll len;
point(int a=,int c=, int d=,ll e=){
L=a; R=c; Rper=d; len=e;
}
};
vector<int> F[];
queue<point> Q;
int main()
{
int cas=;
scanf("%d",&cas);
for(int cc=; cc<=cas; ++cc){
int n,k;
scanf("%d%d",&n,&k);
for(int i=; i<=n; ++i) F[i].clear();
while(!Q.empty())Q.pop();
int rea=,frt=;
point t1,t2;
for(int i=; i<n; ++i){
int a,b;
scanf("%d%d",&a,&b);
F[a].push_back(b);
F[b].push_back(a);
Q.push(point(a,b,a,));
rea++;
Q.push(point(b,a,b,));
rea++;
}
ll ans=;
for(frt=; frt<*k; ++frt){
t1= Q.front();
Q.pop();
ans=ans+t1.len;
if(rea>=*k) {continue;}
int sz = F[t1.R].size();
for(int i=; i<sz; ++i){
int to = F[t1.R ][i];
if(to!=t1.Rper&&rea<*k){
t2.L=t1.L;
t2.len=t1.len+;
t2.R=to;
t2.Rper=t1.R;
rea++;
Q.push(t2);
}
}
}
printf("%I64d\n",ans/); }
return ;
}

最新文章

  1. java观察者模式的实现
  2. 技术总结之SpringIOC
  3. IOS Quartz2D 通过UIColor生成图片
  4. js的各种继承
  5. RedHat中敲sh-copy-id命令报错:-bash: ssh-copy-id: command not found
  6. C#项目连接数据库的配置
  7. Http抓包工具Charlse使用教程
  8. JQuery弹出层,实现弹层切换,可显示可隐藏。
  9. iptables 配置需要保存
  10. c++ timer基于win消息队列
  11. 使用Python操作Redis
  12. jQuery选择器对应的DOM API ——选择元素
  13. 【转】CPU与内存的那些事
  14. centos 7下安装python 3.6笔记
  15. 解决在使用gensim.models.word2vec.LineSentence加载语料库时报错 UnicodeDecodeError: &#39;utf-8&#39; codec can&#39;t decode byte......的问题
  16. JavaScript之扑朔迷离的this
  17. GTS-800二次开发基本流程总结
  18. 图的最短路径——dijkstra算法和Floyd算法
  19. [转]MySQL导入.sql文件及常用命令
  20. iOS UILabel设置行间距和字间距

热门文章

  1. ftplib模块【python】
  2. java 字符编码问题
  3. Android中Parcelable和Serializable接口用法
  4. UML设计,可以设计程序的用例图、类图、活动图等_SurfaceView
  5. 在navicat中新建数据库
  6. 《C++ Primer Plus》12.6 复习各种(类和动态内存分配的)技术 笔记
  7. Spring学习笔记--通过构造方法创建Bean
  8. Sublime Text 3配置Minify压缩,格式化css,js,html,json,svg
  9. 【BZOJ4515】[Sdoi2016]游戏 树链剖分+线段树
  10. oracle rank()和dense_rank(), row_number() 的区别