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 ...
随机推荐
- sql LocalDB 的安装环境和使用方法
LocalDB LocalDB专门为开发商.它是非常容易安装,无需管理,但它提供了相同的T-SQL语言,编程表面和客户端供应商定期的SQL Server Express.实际上,目标SQL Serve ...
- Spring:IOC本质分析探究
IOC本质分析 分析实现 我们先用我们原来的方式写一段代码 . 先写一个UserDao接口 public interface UserDao { public void getUser(); } 再去 ...
- HashSet源码解读
一:先看其实现了哪些接口和继承了哪些类 1.实现了Serializable接口,表明它支持序列化. 2.实现了Cloneable接口,表明它支持克隆,可以调用超类的clone()方法进行浅拷贝. 3. ...
- ssm框架下的文件上传和文件下载
最近在做一个ssm的项目,遇到了添加附件和下载的功能,在网上查了很多资料,发现很多都不好用,经过摸索,发现了一套简便的方法,和大家分享一下. 1.在自己已经构建好的maven web项目中 pom. ...
- 日常用shell命令
递归更改文件夹权限:chmod -R 767 文件名 mac启动apache sudo apachectl start/restart mac停止apache sudo apachectl stop ...
- Lexical or preprocessor 'XXX/XXX.h' issue file not found
最近做第三方登录,引入了第三库,结果就出来个这个问题.如下图所示: 刚开始编译运行都没问题,可下次再打开时就报这个错误…… 一个比较弱智的解决办法: 1. 删除第三方库文件(删除到垃圾箱,而且还要在文 ...
- 运行sh文件
记下在Ubuntu下安装*.sh和*.bin的简单方法. *.sh文件安装方法: 运行终端到文件目录下 1.在终端输入:sudo sh *.sh直接运行 2.在终端输入:sudo chmod +x * ...
- unimrcp-voice-activity语音检测
研究 unimrcp有一段时间了,其中unimrcp voice acitve的算法,是遭到大家频繁吐槽.今天我们简单的介绍一下unimrcp voice activity 的这个简单粗暴的算法: u ...
- window下打jar包
比如我的项目在 F/Myjar F:\Myjar>ll'll' 不是内部或外部命令,也不是可运行的程序或批处理文件. F:\Myjar>cd mian系统找不到指定的路径. F:\Myja ...
- 【Java例题】5.1 多项式计算
1. 计算下列多项式的值. pn=an*x^n+...+a1*x+a0其中,"^"表示乘方. x.n以及ai(i=0,1,...,n-1)由键盘输入. package chapte ...