并查集基本处理即可。

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
#define int long long
const int MAXN = 100001;
struct edge {
int u;
int v;
int w;
bool tag;
}e[MAXN << 1]; bool cmp(edge a,edge b){
return a.w < b.w;
}
int ans;
struct _set {
int f[MAXN];
int rnd[MAXN];
_set() {
memset(rnd,0,sizeof rnd);
}
int find(int x) {
return x == f[x] ? x : f[x] = find(f[x]);
}
void merge(int x,int y) {
if(rnd[x] > rnd[y]) {
f[y] = x;
}
else if(rnd[x] == rnd[y]) {
f[x] = y;
rnd[y] ++;
}
else f[x] = y;
}
}F1,F2; int read () {
int q=0,f=1;char ch=getchar();
while(!isdigit(ch)){
if(ch=='-')f=-1;ch=getchar();
}
while(isdigit(ch)){
q=q*10+ch-'0';ch=getchar();
}
return q*f;
} int n,m,p,q;
int tot;
int cnt1,cnt2;
signed main () {
n = read(),m = read(),p = read(),q = read();
for(int i = 1;i <= p; ++i) {
e[i].u = read();
e[i].v = read();
e[i].w = read();
}
for(int i = 1;i <= q; ++i) {
e[i + p].tag = 1;
e[i + p].u = read();
e[i + p].v = read();
e[i + p].w = read();
}
sort(e + 1,e + p + q + 1,cmp);
for(int i = 1;i <= n; ++i) {
F1.f[i] = i;
}
for(int i = 1;i <= m; ++i) F2.f[i] = i;
for(int i = 1;i <= p + q; ++i) {
if(e[i].tag == 0) {
int x = F2.find(e[i].u);
int y = F2.find(e[i].v);
int z = e[i].w;
if(x == y) {
ans += z * n;
}
else {
F2.merge(x,y);
ans += z * cnt1;
cnt2 ++;
}
}
else {
int x = F1.find(e[i].u);
int y = F1.find(e[i].v);
int z = e[i].w;
if(x == y) {
ans += z * m;
}
else {
F1.merge(x,y);
cnt1 ++;
ans += z * cnt2;
}
}
}
cout<<ans<<endl;
return 0;
}

CCC2018 最大战略储备的更多相关文章

  1. LOJ2803 CCC2018 平衡树 数论分块、记忆化搜索

    传送门 题意差评,其实就是一个递推式:\(f_1 = 1 , f_i = \sum\limits_{j=2}^i f_{\lfloor \frac{i}{j} \rfloor}\),然后求\(f_N\ ...

  2. CCC2018游记

    day (-1) 晚上睡觉没盖被子 day 0  2018年2月13日 下午放学回来感到一阵头痛,一量体温结果发烧了,感觉很蓝瘦,居然在CCC前一天生病. 本来注册了账号想打practise的,结果又 ...

  3. 核心思想:百度网盘怎么盈利(互联网的高速更新决定了:亏钱你还有点机会,放弃连门都进不了),战略预备队 good

    百度做网盘很大程度就是为了防止别人依靠网盘做大和积累点技术储备.腾讯邮箱怎么赚钱?腾讯影音怎么赚钱?互联网的高速更新决定了,一些你看不起眼的软件很可能就会席卷整个市场,所以互联网大佬宁愿一些项目亏钱也 ...

  4. BAT有增有减&nbsp;互联网2015校园…

    又到一年开学季,也是毕业生开始被各种招聘.宣讲所围绕的时节. 在众多行业中,互联网在过往几年,也属于较热门的第一梯队之中.不过,在2015年的经济形势下,大家不由地疑问,互联网企业的招聘还会持续吗? ...

  5. 一年前的很水的渣网页(第一次html试水)

    <!doctype html> <html lang="zh-cn"> <base target="_blank" /> & ...

  6. Anatomy of a Database System学习笔记 - 事务:并发控制与恢复

    这一章看起来是讲存储引擎的.作者抱怨数据库被黑为“monolithic”.不可拆分为可复用的组件:但是实际上除了事务存储引擎管理模块,其他模块入解析器.重写引擎.优化器.执行器.访问方式都是代码相对独 ...

  7. 你被美国监控了,美国监控丑闻——"棱镜项目"事件

    http://www.ittime.com.cn/index.php?m=content&c=index&a=show&catid=29&id=3795 “棱镜”项目所 ...

  8. 养活一款APP要“烧”多少钱?

    Duang!又一款APP刷爆朋友圈.大片范儿的电影截图.意味深长的经典对白均出自一款名为“足记”的APP. 足记团队刚于去年8月完成天使期融资,投资方是光速创投和紫辉创投,目前正准备A轮融资.且近一周 ...

  9. 20201207-2 openpyxl 库与模块导入

    1-1 import openpyxl # 通过文件路径,打开工作簿 wb1 = openpyxl.load_workbook('./demo_excel.xlsx') # 用 Workbook() ...

随机推荐

  1. QByteArray和十六进制的QString(char*)相互转换

    #include <QCoreApplication> #include <QDebug> #include <QDataStream> QByteArray He ...

  2. LOJ 2554 「CTSC2018」青蕈领主——结论(思路)+分治FFT

    题目:https://loj.ac/problem/2554 一个“连续”的区间必然是一个排列.所有 r 不同的.len 最长的“连续”区间只有包含.相离,不会相交,不然整个是一个“连续”区间. 只有 ...

  3. [CSP模拟测试43、44]题解

    状态极差的两场.感觉现在自己的思维方式很是有问题. (但愿今天考试开始的一刻我不会看到H I J) A 考场上打了最短路+贪心,水了60. 然而正解其实比那30分贪心好想多了. 进行n次乘法后的结果一 ...

  4. 使用Guzzle执行HTTP请求

    Guzzle是一个PHP的HTTP客户端,用来轻而易举地发送请求,并集成到我们的WEB服务上.Guzzle提供了简单的接口,构建查询语句.POST请求.分流上传下载大文件.使用HTTP cookies ...

  5. crontab定时执行datax

    记录下使用crontab,datax定时同步数据遇到的问题. 1.开始使用如下配置,死活不执行.网上说crontab环境便利的问题,设置了也没反应. [root@hxjk_test_mysql_red ...

  6. Tomcat_shutdown

    @echo off echo 执行开始时间 date/t time/t echo *********************************************** echo 正在关闭To ...

  7. Opengl ES Glew库 ----- By YDD的铁皮锅

    前一篇随笔我写了Opengl的窗口创建,这一篇随笔我要写OpenGL glew库的使用.首先需要引入头文件h,库文件Lib和动态链接库DLL, 百度搜索OpenGL glew库找到这个纯英文网站,尽量 ...

  8. openstack部署安装

    OpenStack实战 准备环境 controller 10.0.0.11 compute1 10.0.0.31 常用服务端口 mariadb:3306 memcached:11211 消息队列:56 ...

  9. jpql简单l查询

    JPQL全称Java Persistence Query Language package com.ytkj.entity; import javax.persistence.*; import ja ...

  10. [已解决]报错: Creating Server TCP listening socket 127.0.0.1:6379: bind: No error

    问题: windows下安装Redis第一次启动报错: [2368] 21 Apr 02:57:05.611 # Creating Server TCP listening socket 127.0. ...