首页 > 其他分享 >旅游(最小生成树&二分)---牛客小白月赛69-D

旅游(最小生成树&二分)---牛客小白月赛69-D

时间:2024-03-13 11:58:05浏览次数:28  
标签:return int res mid cin --- 牛客 小白月赛 find

在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
#define inf 0x3f3f3f3f
const int N=4e4+5;
int n,m,c;
int p[N];

struct node{
	int x,y,w;
	bool operator<(const node& t)const{
		return w<t.w;
	}
};
vector<node>e,res;

int find(int x){
	return x==p[x]?x:p[x]=find(p[x]);
}

bool check(int mid){
	int k=1,sum=0;
	for(int i=0;i<res.size();i++){
		if(res[i].w<=mid) continue;
		sum+=res[i].w*k++;
		if(sum>c) return false;
	}
	return sum<=c;
}

void solve(){
	cin>>n>>m>>c;
	for(int i=1;i<=m;i++){
		int x,y,w;
		cin>>x>>y>>w;
		e.push_back({x,y,w});
	}
	sort(e.begin(),e.end());
	
	for(int i=1;i<=n;i++) p[i]=i;
	for(auto it:e){
		int x=it.x,y=it.y;
		x=find(x),y=find(y);
		if(x!=y){
			p[x]=y;	
			res.push_back(it);
		}
	}
	reverse(res.begin(),res.end());
	
	int l=0,r=1e18;
	while(l<r){
		int mid=l+r>>1;
		if(check(mid)) r=mid;
		else l=mid+1;
	}
	cout<<l<<endl;
}
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int tt=1;
//	cin>>tt;
	while(tt--) solve();
	return 0;
}

标签:return,int,res,mid,cin,---,牛客,小白月赛,find
From: https://blog.csdn.net/JungleZRD/article/details/136643190

相关文章

  • Vue学习笔记--浏览器存储(local Storage + session Storage)
    浏览器存储:意思就是本地缓存信息localStorage示例一:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><ti......
  • 详解Go程序添加远程调用tcpdump功能,exec.Command("sh", "-c", "ps -elf | grep xxx |
    摘自:https://www.jb51.net/article/249001.htm这篇文章主要介绍了go程序添加远程调用tcpdump功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 最近开发的telemetry采集系统上线了。听起来高大上,简单来说就是一个grpc/udp服务端,用......
  • 无线通信卡设计原理图:410-基于XCVU9P+ C6678的100G光纤的加速卡 高速数据采集卡
     一、板卡概述   二、技术指标 •  板卡为自定义结构,板卡大小332mmx260mm; •  FPGA采用Xilinx Virtex UltralSCALE+ 系列芯片 XCVU9P; •  FPGA挂载4组FMC HPC 连接器; •  板载4路QSPF+,每路数据速率100Gb/s; •  DSP处理器采用TI 8核处理器......
  • JS 链表 - 笔记
    代码:classListNode{/***@constructor*@param{number}val*@param{ListNode}next*/constructor(val,next){this.val=(val===undefined?0:val);this.next=(next===undefined?null:next);......
  • golang,再也不用管道了,exec.Command("bash", "-c", "ps -elf | grep xxx")
    摘自:https://www.jb51.net/article/249001.htmfuncSystem_CmdCombinedOutput(cmd_linestring)([]byte,error){mutex_exec.Lock()defermutex_exec.Unlock()//old_handler:=C.set_SIGCHLD_DFL()//自己实现,用c语言保存当前的信号屏蔽字//def......
  • 1N5819-ASEMI轴向肖特基二极管1N5819
    辑:ll1N5819-ASEMI轴向肖特基二极管1N5819型号:1N5819品牌:ASEMI封装:DO-41最大平均正向电流(IF):1A最大循环峰值反向电压(VRRM):40V最大正向电压(VF):0.9V工作温度:-55°C~125°C反向恢复时间:ns重量:0.33克芯片个数:1芯片尺寸:60mil引脚数量:2正向浪涌电流(IFMS):25A包装方式:50/管1000......
  • 开发概念解释 --- maven 和 npm的常识
    maven和npm有点类似于linux中的apt,apt是linux系统中安装软件的方式比如安装浏览器,maven是java中安装依赖软件的方式比如安装apache的commonio工具,npm是nodejs环境中安装依赖的方式比如jquery工具。而nodejs有点类似于java。我们将这些工具统称为安装包管理器,简称包管理器。其......
  • Python学习笔记-Flask实现简单的投票程序
    1.导入flask包 fromflaskimportFlask,jsonify,abort,make_response,request,render_template2.初始化Flask应用:app=Flask(__name__)3. 定义投票种类data=[{'id':0,'name':'劳动节','num':0},{'id':1,'name&#......
  • KK10-BCV-423 L328冷却器HS-COOLER
    冷却器是一种设备,用于将热源或热物体的温度降低,使其达到所需的温度。冷却器通常使用冷却介质(如水或空气)来吸收热量,然后将其排出或转移到其他地方。冷却器广泛应用于工业、机械、电子、汽车等领域,用于冷却发动机、电子设备、冷却剂等。常见的冷却器类型包括散热器、冷凝器、......
  • 【DM8】7-用户和对象管理
    7-用户和对象管理–用户权限角色用户是连接数据库进行相关操作的–模式是一个用户拥有的所有数据库对象的集合每个用户都有自己默认的模式模式名和用户名一样–权限是执行特定类型sql命令或访问其他模式对象的权利,用于限制用户可执行的操作–角色是将具有相同权......