宿命的PSS
宿命的PSS
时间限制: 1 Sec 内存限制: 128 MB
提交: 60 解决:
37
[提交][状态][讨论版]
题目描述
最小生成树P.S.S在宿命的指引下找到了巫师Kismi。P.S.S希望Kismi能帮自己变成一个完全图。Kismi由于某些不可告人的原因,把这件事交给了你。
PS: 可以保证,这个最小生成树对于最后求出的完全图是唯一的。
输入
输入的第一行是一个整数n,表示生成树的节点数。 接下来有n-1行,每行有三个正整数,依次表示每条边的端点编号和边权。
(顶点的边号在1-n之间,边权< maxint)
输出
一个整数ans,表示以该树为最小生成树的最小完全图的边权之和。
样例输入
3
1 2 4
2 3 7
样例输出
19
提示
n< 20000
样例输入2:
4
1 2 1
1 3 1
样例输出2:
12
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<string> using namespace std;
const int MAXN=; struct fzy
{
int u,v,zhi;
}a[MAXN];
struct xx
{
int anc,num;
void cc(int i)
{
anc=i;
num=;
}
}f[MAXN]; long long ans,sum;
int n; int find(int num)
{
if (f[num].anc!=num) f[num].anc=find(f[num].anc);
return f[num].anc;
}
bool cmp(fzy a,fzy b)
{
return a.zhi<b.zhi;
}
int main()
{
int x,y,z;
ans=; scanf("%d",&n);
for (int i=;i<=n;i++)
f[i].cc(i);
for (int i=;i<n;i++)
{
scanf("%d%d%d",&a[i].u,&a[i].v,&a[i].zhi);
sum+=a[i].zhi;
} sort(a+,a+n,cmp); for (int i=;i<n;i++)
{
x=find(a[i].u),y=find(a[i].v);
if (f[x].anc!=f[y].anc)
{
f[y].anc=f[x].anc;
ans+=(long long)((long long)f[x].num*f[y].num-)*(a[i].zhi+);
f[x].num+=f[y].num;
}
} ans+=sum;
printf("%lld",ans);
}
宿命的PSS的更多相关文章
- Vijos1579:宿命的PSS
背景 P.S.S:“我来自哪里?”WH:“你来自一个图.”P.S.S:“我是谁?”WH:“你是最小生成树.”P.S.S:“我又要到哪里去?”WH:“你要成为一个最小完全图(边权之和最小的完全图).”P ...
- 内存VSS/RSS/PSS/USS名词解释
VSS(virtual set size)虚拟耗用内存(包含共享库占用的内存) RSS(Resident set size)实际使用物理内存(包含共享库占用的内存) RSS是进程实际驻存在物理内存的部 ...
- VSS、RSS、PSS、USS
VSS:Virtual Set Size,虚拟耗用内存.它是一个进程能访问的所有内存空间地址的大小.这个大小包含了一些没有驻留在RAM中的内存,就像mallocs已经被分配,但还没有写入.VSS很少用 ...
- android内存耗用:VSS/RSS/PSS/USS
VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) 不是真实当前应用进程所占用的内存. 内存分配的原理 从操作系统角度来看,进程分配内存有两种方式,分别由两个系统调用完 ...
- [转]Android中内存占用的含义:(VSS,PSS,RSS,USS)
Android中内存占用的含义:(VSS,PSS,RSS,USS) 作者: andforce 分类: 安卓系统 发布时间: 2013-09-07 00:03 ė1,915 浏览数 6没有评论 在eng ...
- Android内存之VSS/RSS/PSS/USS
Terms VSS - Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS - Resident Set Size 实际使用物理内存(包含共享库占用的内存) PSS - P ...
- 【Android手机测试】linux内存管理 -- 一个进程占多少内存?四种计算方法:VSS/RSS/PSS/USS
在Linux里面,一个进程占用的内存有不同种说法,可以是VSS/RSS/PSS/USS四种形式,这四种形式首字母分别是Virtual/Resident/Proportional/Unique的意思. ...
- RSA签名的PSS模式
本文由云+社区发表 作者:mariolu 一.什么是PSS模式? 1.1.两种签名方式之一RSA-PSS PSS (Probabilistic Signature Scheme)私钥签名流程的一种填充 ...
- Linux内存管理 一个进程究竟占用多少空间?-VSS/RSS/PSS/USS
关键词:VSS.RSS.PSS.USS._mapcount.pte_present.mem_size_stats. 在Linux里面,一个进程占用的内存有不同种说法,可以是VSS/RSS/PSS/US ...
随机推荐
- 网上搜索到的 比较好的mysql查询语句练习题
Sutdent表的定义 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 Id 学号 INT(10) 是 否 是 是 是 Name 姓名 VARCHAR(20) 否 否 是 否 否 Sex 性 ...
- Python Requests: Invalid Header Name 解决方法
这几天在练习python,并且用到了Requests,不得不说真的比urllib 方便了很多啊,简直有点事半功倍的感觉 言归正传,(好像上面的话也没多歪啦~~~~~) 简单叙述下我的script 流程 ...
- DevTool开发者工具
DevTool开发者工具 chrome的开发者工具可以说是十分强大了,是web开发者的一大利器,作为我个人而言平时用到的几率很大,相信大家也很常见,但是不要仅仅停留在点选元素看看样式的层面上哦,跟着我 ...
- JAVA中String = null 与 String = "" 的区别
JAVA中String = null 与 String = ""的区别 笔者今天在Debug的时候发现的NPE(NullPointerException),辛辛苦苦地调试了半天,终 ...
- Python并发编程协程(Coroutine)之Gevent
Gevent官网文档地址:http://www.gevent.org/contents.html 基本概念 我们通常所说的协程Coroutine其实是corporate routine的缩写,直接翻译 ...
- 201521123038 《Java程序设计》 第五周学习总结
201521123038 <Java程序设计> 第五周学习总结 1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.ja ...
- 201521123008《Java程序设计》第四周学习总结
1.本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.包的命名规范 2.面向对象设计:名词/动词 3.类的设计技巧:一定将属性设计为私有priv ...
- 201521123086《JAVA程序设计》第二周学习总结
一.本章学习总结 学会在Java程序中使用函数,使程序层次更清晰 使用StringBuilder编写代码,减少内存空间的占用 使用BigDecimal精确计算浮点数 使用枚举类型编写函数,掌握返回值使 ...
- ASCII中关于大小写字母间隔为32的思考
一直没有搞清楚为什么在ASCII中要把大小写字母的间隔设置为32,今天才发现这样设置的精妙之处:方便了程序对大小写字母进行转换.请看: ================= 十进制 32 ...
- 201521123108《Java程序设计》第14周学习总结
1. 本周学习总结 2. 书面作业 Q1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自己的学号.姓名) 答: 在自己建立的数据库上执行常见SQL语句(截 ...