#include<cstdio>
#include<algorithm>
#include<string.h>
#include<functional>
#include<cmath>
#include<iostream>
using namespace std;
class node
{
public:
int u,v;
int dist;
}edge[55002];
int num[509];
int find(int x)
{
return x==num[x]?x:num[x]=find(num[x]);
}
bool cmp(node xx,node yy)
{
return xx.dist<yy.dist;
}
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m,k;
scanf("%d%d%d",&n,&m,&k);
for(int i=0;i<=508;i++)
{
num[i]=i;
}
int a,b,x,mn=1,nn,nx,mx;
for(int i=1;i<=m;i++)
{
scanf("%d%d%d",&a,&b,&x);
edge[i].u=a;edge[i].v=b;edge[i].dist=x;
}
while(k--)
{
int tt;
int con[510]={0};
scanf("%d",&tt);
for(int i=0;i<tt;++i)
{
scanf("%d",&con[i]);
}
for(int i=1;i<tt;++i)
num[find(con[i])]=find(con[i-1]);//连接幸存的道路
}
int xn=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)//xn为幸存的道路数
{
if(i==j)
continue;
if(num[j]==i)
xn++;
}
sort(edge+1,edge+1+m,cmp);
int sum=0;
for(int i=1;xn<n&&i<=m;i++)
{
int cx=find(edge[i].u),cy=find(edge[i].v);
if(cx!=cy)
{
num[cx]=cy;
sum+=edge[i].dist;
xn++;
}
}
if(xn<n)//因为初始化为1所以如果能连通,xn==n
sum=-1;
printf("%d\n",sum);
}
return 0;
}
相关推荐
51单片机STC8G1K08驱动ws2812记录
使用51单片机控制17个2812灯,这里选择STC8芯片,最大频率可以达到35M,参考网上的各种文章案例,使用定时器做的时候实测做不到规格书要求的245-345ns,STC8G1K08不带PWM,所以只能使用nop来做,好在单片机在这里只有做编程灯的功能,省略测试过程,下面是程序,使用的是24MHz内部晶振 //设置一个灯珠 void SendOnePix(unsigned char *ptr) { unsigned char i,j; unsigned char temp; fo...
http://acm.hdu.edu.cn/showproblem.php?pid=3371
这是今天xd弄的一个专题,,,,很是坑爹,,,c++过了,但是g++就是过不了,,,让我纠结了半个多小时,,,悲催,,, prim算法: #include #include #define N 505 #define M 99999999 #define FOR(i,s,t) for(int i=(s);i<=(t);++i) using namespace std; int n,m
帆软报表JS导出避坑指南:如何正确处理sessionid和参数传递
本文深入探讨了帆软报表中通过JavaScript实现一键导出的关键技术,重点解析了如何正确获取并传递sessionid以确保会话不丢失,以及如何构造包含必要参数的导出URL。文章详细对比了预览后导出与直接URL导出两种方式的差异,并提供了从参数拼接、前端触发下载到高级场景(如SPA集成)的完整避坑指南,帮助开发者构建稳定可靠的自定义导出功能。
http://acm.hdu.edu.cn/showproblem.php?pid=2795区间最大值
刚开始时感觉本题是二维线段树,然后分析一下貌似不是,就是求取区间最大值的位置,感觉和之前的那道求逆序数的有一部分很像,查询更新;这题是把查询和更新合在了一起;但是我这个弱菜不会写代码,之后果断参考了HH神牛的模板;ORZ。。。各种若,弱不经风,刚学线段树,以后要努力,第一次这么晚了还在写代码了,ORZ。。只有我这种若才才会熬夜。。。 好了今天到这里一会碎觉喽,不然会挂的。这几天看到网上很多新闻因
从PSDK到ROS节点:实战GPS数据发布与CMake配置
本文详细介绍了如何从大疆PSDK获取GPS数据并封装为ROS节点的实战过程,包括PSDK编译、GPS数据订阅、ROS节点实现及CMake配置优化。通过具体代码示例和调试技巧,帮助开发者快速实现无人机传感器数据与ROS系统的集成,提升开发效率。
5g LDPC编译码-LDPC编码
本文摘要:LDPC编码是5G业务信道的核心编码技术,属于线性分组码。5G中LDPC编码分为两种基图类型(BG1和BG2),通过码块分割、CRC处理等步骤实现。编码过程主要涉及校验矩阵生成和校验位计算,其中校验矩阵采用稀疏矩阵结构。文中详细介绍了5G LDPC编码的具体实现流程,包括码块分割规则、校验位生成方法,以及两种基图(BG1和BG2)在矩阵结构和参数设置上的差异,重点阐述了通过模块化方法求解校验比特位的技术路径。
http://poj.org/problem?id=3468线段树简单 成段更新 区间求和
这题是昨天的比赛题,昨天比赛完美被大一的虐了,感觉自己真是白活了,一头撞死算了,人家大一的做了5题,而我这个水货这做了两道签到题;明显昨天知道这个题目是线段树,刚开始还想用树状数组试试,后来写完了发现不是插线问点,结果可想而知,代码重写,再看时线段树,然后不会了,自己只会单点更新,以后努力了,没有时间给自己犹豫了;抓紧时间学习数据结构,还有贪心,图论,搜索,还有C++;任重道远; 其中本题的延迟
RK3568下YT8531/YT8521 PHY移植避坑指南:RGMII与设备树详解
嵌入式Linux网络调试中,PHY芯片作为MAC与物理介质之间的桥梁,其驱动配置直接影响网络稳定性。RGMII接口的延时补偿、PHY地址设定以及复位时序是设备树配置中的关键环节,稍有差错便会出现链路已通却无法通信的现象。通过理解PHYLIB框架与mdio总线枚举原理,开发者可以快速定位寄存器级故障。在RK3568等工业级平台中,裕太微YT8531/YT8521凭借高性价比与内核主线支持,成为替代传统方案的热门选择。从设备树模板、内核配置到常见坑点,系统梳理千兆以太网PHY的移植与调试方法,帮助开发者少走弯路
给出一个n个元素的链表输出倒数第k个节点
用两个指针;初始化为头指针;用其中一个指针遍历链表,当该指针遍历到第k个节点时,另外一个指针开始从头节点开始遍历链表;两个指针之间的距离为k;遍历完链表时第二个指针所指向的节点就是倒数第K个: #include #include #include using namespace std; struct node{ int val; node *next; node(){
基于mediapipe的动作捕捉和unity的人物模型驱动
用到的人体关键点检测的算法是Google开发的基于深度学习的实时多媒体套件,汇集了人体、手部、人脸关键点追踪、物体检测、物体识别等多个流行的视觉任务的成果。整套 Mediapipe正如其名字,专门为便携设备上的多媒体应用设计,模型非常小,在笔记本手机上也能实时跑,跨平台、跨语言。mediapipe实时性是没什么问题。但是是以牺牲了质量为代价的,这种关键点检测一般是用来做动作识别,类似于运动app跳绳计数、判定瑜伽动作标不标准这种。用单目视觉来做人物模型的驱动,总差点意思。
【嵌入式硬件】LAN9253说明书(中文版)
LAN9253是一款2/3端口EtherCAT从站控制器,具有双集成以太网PHY,每个PHY包含一个全双工100 BASE-TX收发器,支持100 Mbps(100 BASE-TX)操作。 LAN 9253支持HP Auto-MDIX,允许使用直接连接或交叉LAN电缆。支持EtherCAT P和信号质量指数PHY诊断。 LAN9253包括一个EtherCAT从站控制器,带有8K字节的双端口存储器(DPRAM)和8个现场总线存储器管理单元(FMMU)。每个FMMU将逻辑地址映射到物
http://acm.nbut.cn/Problem/view.xhtml?id=1186二叉树的宽度
昨天比赛时我代码没有写出来还好思想有了,跟魁永说了,他也是这个想法;然后就做了,代码写了好久啊(感觉真是弱死了,而且wa了一次),今天自己写了1Y;感觉真是弱爆了;以后搜索要抓紧练习了; #include #include #include #include using namespace std; struct node { node() {lc=rc=-1;} int lc,rc; }
计算机应用数学--第一次作业
中科大 计算机应用数学 第一次作业
C++中的static
在定义变量和函数时用关键字static用来修饰命名空间作用域的变量和函数时和extern的作用刚好相反; extern用法 但是这种方式在2003的c++ 2.0标准中已经宣布不再鼓励这种方式; 用的是匿名的命名空间,尼玛我是第一次听说这个匿名的命名空间,它是这样的; namespace{ int n; void f(){ n++; }
Statistics and Machine Learning Toolbox
Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具
Probability and Statistics - 4th edition
Probability and Statistics - 4th edition
C++ extern 关键字的用法
extern声明一个外部变量与外部函数: //源文件1 int i; //源文件2 extern int i;//声明一个在其他文件中定义的外部变量i;如果不写这个extern int i;源文件2是不能用文件1中的变量i的; 外部函数是在所有类外声明的函数(非成员函数),都是具有命名空间作用域的,如果没有特殊说明,这样的函数都可以在不同的编译单元中被调用,只要在调用之前有引用性声明即可,也可以在
jdk-8u144-linux-x64.tar.gz.
该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包
月老的难题&&二分图最大匹配模板&&http://acm.nyist.net/JudgeOnline/problem.php?pid=239
二分图最大匹配:用邻接矩阵超时,需要用邻接表; #include #include #include #include #include #include using namespace std; const int N=512; bool chk[N]; vectorvis[N]; int n; int xM[N],yM[N]; bool SearchPath(int u) { int dd
老版QQ原生表情gif动态
这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。
http://lightoj.com/volume_showproblem.php?problem=1059最小生成树变形
利用kruscal求最小生成树,如果建一条路的费用超过建一个机场,就去掉该边(这点很关键); #include #include #include using namespace std; const __int64 N=10002; const int INF=9999999999; struct node { __int64 u,v; __int64 cost; }a[N*10]; __
http://poj.org/problem?id=1330&&大水货一个啊
LCA纯版题,各种调试不成功,砸电脑的心都有了;撞墙去了恶心死了; 更恶心的是vs2010报错:sbIDE #include #include #include #include #include using namespace std; const int MAX=10010; #define CLR(arr,val) memset(arr,val,sizeof(arr)) int n,f
C++自己写的非常简单的文件
以后我的定位就是用linux下的C/C++开发,现在开始复习C++了,虽然以前学过,而且自己在大一的第二学期就已经学了一点点,但是那都是皮毛,去年暑假学了一点点STL,自我感觉还不错,结果在大二第一学期的C++考试考得很烂,自己大二第一学期完全没有学到神马东西,虽说学了一点点的算法,但是还是很弱的; 头文件声明 //头文件声明 #ifndef SALE_H #define SALE_H c
unix 网路编程(卷一)第一个程序编译过程
unix网络编程
C++&&Mysql&&codeblocks
#include #include #include #include using namespace std; /*数据库连接用宏*/ #define HOST "localhost" #define USERNAME "root" #define PASSWORD "333333" #define DATABASE "test" void query_sql(char* sql)
http://poj.org/problem?id=2187
#include #include #include #include #include using namespace std; #define N 50005 const double Pi = acos(-1.0); struct Point { int x,y; }P[N],S[N]; int n,top,L; int Dis(const Point& p1,const P
http://poj.org/problem?id=2828线段树 逆序
尼玛线段树终于又有点进展了,果断的难,自己一直不知道在具体的问题中用线段树记录什么内容,看来还是做过的题目太少了,见过的类型很少,以后要努力了,这次必须把线段树专辑搞完在回家。。。。弱爆了。 这题刚开始看时完全不知道线段树记录什么内容,如何用线段树表示,更不知道如何下手了;后来看了别人的解题报告理解了好长时间,才明白,真心要努力了,多思考; 由于这题是插队的问题,要等所有信息输入完才知道最终结
并查集应用http://ac.nbutoj.com/Problem/view.xhtml?id=1187
并查集应用:ORZ。。。。无语了这一题写了快一下午,累的我要吐血了,浑身疼啊,,先是TLE,然后各种参考大神代码,尤其是骆神的。。。ORZ。。。。ORZ。。。 昨天比赛就是抱骆神大腿的,,,ORZ,骆神V587,ORZ......各种若斯。。。。#include #include #include using namespace std; struct node { int fa; bool
7323



被折叠的 条评论
为什么被折叠?



