2013-2014 ACM-ICPC Pacific Northwest Regional Contest D.Delta Quadrant
题意略。
思路:
由于这是一颗无根树,我们可以贪心地来删去边。
详见代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 1e4 + ; struct edge{
int from,to,len,id;
edge(int a = ,int b = ,int c = ,int d = ){
from = a,to = b,len = c,id = d;
}
bool operator< (const edge& e) const{
return len < e.len;
}
}; int indegree[maxn];
bool visit[maxn];
edge store[maxn];
priority_queue<edge> pq; void init(){
memset(visit,false,sizeof(visit));
memset(indegree,,sizeof(indegree));
while(pq.size()) pq.pop();
} int main(){
int T;
scanf("%d",&T);
while(T--){
int n,k;
LL sum = ;
init();
scanf("%d%d",&n,&k);
int from,to,len;
for(int i = ;i < n - ;++i){
scanf("%d%d%d",&from,&to,&len);
store[i] = edge(from,to,len,i);
sum += len;
indegree[from] += ;
indegree[to] += ;
}
for(int i = ;i < n - ;++i){
edge& e = store[i];
if(indegree[e.from] == || indegree[e.to] == ){
pq.push(e);
visit[e.id] = true;
}
}
LL ans = ;
for(int i = ;i < k;++i){
edge e = pq.top();
pq.pop();
--indegree[e.from];
--indegree[e.to];
ans += e.len;
for(int j = ;j < n - ;++j){
if(visit[j]) continue;
edge ee = store[j];
if(indegree[ee.from] == || indegree[ee.to] == ){
pq.push(ee);
visit[ee.id] = true;
}
}
}
ans = sum - ans;
ans *= ;
printf("%lld\n",ans);
}
return ;
}
2013-2014 ACM-ICPC Pacific Northwest Regional Contest D.Delta Quadrant的更多相关文章
- 2018 ICPC Pacific Northwest Regional Contest I-Inversions 题解
题目链接: 2018 ICPC Pacific Northwest Regional Contest - I-Inversions 题意 给出一个长度为\(n\)的序列,其中的数字介于0-k之间,为0 ...
- Contest Setting 2018 ICPC Pacific Northwest Regional Contest dp
题目:https://vj.69fa.cn/12703be72f729288b4cced17e2501850?v=1552995458 dp这个题目网上说是dp+离散化这个题目要对这些数字先处理然后进 ...
- ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków
ACM ICPC Central Europe Regional Contest 2013 Jagiellonian University Kraków Problem A: Rubik’s Rect ...
- 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)
2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) 思路: A Exam 思路:水题 代码: #include<bits ...
- 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
A:Alphabet Solved. 签. #include<bits/stdc++.h> using namespace std; ]; ]; int main(){ scanf(); ...
- 2015-2016 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) S Surf
SurfNow that you've come to Florida and taken up surng, you love it! Of course, you've realized that ...
- 2018-2019 ACM-ICPC Pacific Northwest Regional Contest C Contest Setting(DP)
比赛链接:Contest Setting C题 题意:$n$道题目,每道题目难度为$ai$,选择$k$道难度不同的题目,有多少种选择方案.$1<=k<=n<=1000,1<=a ...
- 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 题解
[题目链接] A - Alphabet 最长公共子序列.保留最长公共子序列,剩余的删除或者补足即可. #include <bits/stdc++.h> using namespace st ...
- 2018-2019 ACM-ICPC Pacific Northwest Regional Contest (Div. 1) Solution
A:Exam Solved. 温暖的签. #include<bits/stdc++.h> using namespace std; ; int k; char str1[maxn], st ...
随机推荐
- c的格式输出“%”
- linux初学者-DNS集群篇
linux初学者-DNS集群篇 DNS服务器一般在使用时,为了缓解服务器的压力,多使用一个主DNS服务器,多个副DNS服务器,这些DNS服务器就组成了一个DNS集群. 在DNS主服务器配置好后,需要另 ...
- Git学习(二):Git的初步使用
一.Git的最小配置 1.使用如下命令创建Git的用户名和邮箱,如下所示: $git config --global user.name 'your_name' $git config --globa ...
- go mod 无法自动下载依赖包的问题
go 11以后启用了go mod功能,用于管理依赖包. 当执行go mod init生成go.mod文件之后,golang在运行.编译项目的时候,都会检查依赖并下载依赖包. 在启动了go mod之后, ...
- java并发笔记之java线程模型
警告⚠️:本文耗时很长,先做好心理准备 java当中的线程和操作系统的线程是什么关系? 猜想: java thread —-对应-—> OS thread Linux关于操作系统的线程控制源码: ...
- javascript基本特点,组成和应用
JavaScript 是一种基于客户端浏览器.面向(基于)对象和事件驱动式的网页脚本语言. 1. 基于客户端浏览器:静态语言,跨平台: 2. 面向(基于)对象:本身是没有类class和对象这个概念,但 ...
- 利用dockerfile 安装一个tomcat7
FROM docker.io/centos #定义自己的说明 MAINTAINER jim ming "107420988@qq.com" #切换镜像目录,进入/usr/local ...
- python 实现爬取网站下所有URL
python3 实现爬取网站下所有URL 获取首页元素信息: 首页的URL链接获取: 遍历第一次返回的结果: 递归循环遍历: 全部代码如下: 小结: python3.6 requests && ...
- nginx lua集成kafka
NGINX lua集成kafka 第一步:进入opresty目录 [root@node03 openresty]# cd /export/servers/openresty/ [root@node03 ...
- 图像反转(一些基本的灰度变换函数)基本原理及Python实现
1. 基本原理 获取像素值在[0, L]范围内的图像的反转图像,即为负片.适用于增强图像中白色或者灰色的区域,尤其当黑色在图片中占主地位时候 $$T(r) = L-r$$ 2. 运行结果 图源自ski ...