洛谷 P1525 关押罪犯(并查集)

洛谷P1525 [NOIP2010 提高组] 关押罪犯(种子并查集基础) 普及+/提高。 阅读详情

传送门


在两个有冲突的罪犯中间连边,边权为怒气值,把边按权排序,然后用并查集处理。
我们让边权大的边得两个点不在同一集合中,一旦遇到冲突,当前边权即是最大怒气值。
Code:

#include<cstdio>
#include<cstdlib>
#include<algorithm>
using namespace std;

struct node{
    int x,y,c;
    inline bool operator<(const node&b)const
    {
        return c>b.c;
    }
}a[100010];
int n,m,f[20010],b[20010];

inline int findfa(int x)
{
    if(f[x]==x) return x;
    else return f[x]=findfa(f[x]);
}

int main()
{
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++) f[i]=i;
    for(int i=1;i<=m;i++)
        scanf("%d %d %d",&a[i].x,&a[i].y,&a[i].c);
    sort(a+1,a+1+m);
    for(int i=1;i<=m+1;i++)
    {
        int fx=findfa(a[i].x),fy=findfa(a[i].y);
        if(fx==fy)
        {
            printf("%d",a[i].c);
            return 0;
        }
        else
        {
            if(!b[a[i].x]) b[a[i].x]=a[i].y;
            else f[findfa(b[a[i].x])]=fy;
            if(!b[a[i].y]) b[a[i].y]=a[i].x;
            else f[findfa(b[a[i].y])]=fx;
        }
    }
    return 0;
}
ThinkPHP6+Swoole+uni-app仿QQ即时通讯实战:架构、避坑与优化 即时通讯(IM)系统开发涉及长连接管理、消息时序、离线补偿等核心技术。其原理基于WebSocket实现全双工通信,结合异步处理与发布订阅模式解耦业务与推送。技术价值在于支撑高并发实时消息场景,如社交聊天、在线客服。典型应用包括仿QQ的多端同步、群聊扩散与心跳保活。本文围绕ThinkPHP6、Swoole与uni-app技术栈,深入探讨仿QQ即时通讯系统的架构设计、关键实现与常见避坑方案,涵盖消息时序、离线补偿、多端适配及性能优化等核心议题。 阅读详情

相关推荐

为什么Nano Banana在图像一致性上碾压GPT和豆包?深度解析其技术原理与使用技巧

本文深度解析了Nano Banana在图像一致性上超越GPT和豆包等工具的技术原理。它通过基于参考图的强条件生成、精准的区域感知与掩码控制等核心技术,实现了“外科手术式”的精准图像编辑。文章还分享了包括提示词工程、参数调整在内的实用技巧,并探讨了通过API Key将其能力集成到自动化工作流中的潜力。

omega的博客 356

并查集——关押罪犯(洛谷 P1525)

他们之间的关系自然也极不和谐。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 c 的冲突事件。接下来的 M 行每行为三个正整数aj​,bj​,cj​,表示 aj​ 号和 bj​ 号罪犯之间存在仇恨,其怨气值为 cj​。【输入输出样例说明】罪犯之间的怨气值如下面左图所示,右图所示为罪犯的分配方法,市长看到的冲突事件影响力是 3512(由 2 号和 3 号罪犯引发)。

2401_84048671的博客 1004

从原理图到代码:深入解析SX1278 LoRa模块与STM32的SPI通信驱动(附完整工程)

本文深入解析了SX1278 LoRa模块与STM32的SPI通信驱动实现,从硬件原理图到完整工程代码,详细介绍了LoRa技术的通信原理、寄存器配置、SPI接口设计及低功耗优化策略。适合物联网开发者和嵌入式工程师提升远距离无线通信能力,附完整工程代码助力快速开发。

weixin_42715608的博客 423

P1525 [NOIP2010 提高组] 关押罪犯 题解 | 种类并查集

前言 并查集,想必大家并不陌生,她可以方便快捷地合并、查询两个集合。 例题:P1551 亲戚。 不过我们今天的重点不是普通并查集太简单了(雾,而是并查集的一种变体,种类并查集。 Part1. 种类并查集 种类并查集一般是把元素分成确定的集合数。 例如 P1525 [NOIP2010 提高组] 关押罪犯,把若干个罪犯分成 222 个集合,而且给关系很特别,给的是 222 个数不在一个集合。此时,种类并查集就派上用场了。 Part2. 实现 先看代码: #include <bits/stdc++.h&gt

TMJYH09's csdn blog 841

pycharm添加Anaconda解释器显示不出来

因为我之前下载的是pycharm最新版本2024.1的,所以我抱着试一试的心态卸载重装了2021.3.3的,创建新文件的时候立刻就自己识别好了conda环境。就是图中画圈的地方,之前一直显示为python的图标,但是再Python Interpreter后面跟的路径确实是我下载anaconda的地方。另外一种方法就是使用Virtualenv Environment方式配置,但是我的pycharm还是没有识别出conda的图标。首先是这位的方法,先添加系统解释器,再重启,但是我的图标还是python。

2202_75803271的博客 4006

电脑版微信多开,最详细教程没有之一

首先桌面任意的位置右键新建文本文档输入如下代码: TASKKILL /F/IM WECHAT.EXE start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" start " " "D:\Program Files (x86)\Tencent\WeChat\WeChat.exe" ...

大超子 4390

p1403 二分+二分图判定

描述    S 城现有两座监狱,一共关押着N 名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c 的冲突事件。     每年年末,警察局会

GAUSS_CLB 769

避开这些坑!RK3588安卓系统内置输入法的正确姿势(含.mk文件修改指南)

本文详细解析了在RK3588安卓系统定制中预置第三方输入法的完整流程与关键避坑指南。重点涵盖APK签名、Android.mk文件编写、系统默认输入法配置(使用adb ime list命令获取服务名)以及SeLinux策略适配等核心步骤,并指出RK3566/RK3568等兄弟平台的通用性与差异点,帮助开发者实现稳定、深度的系统集成。

tgb34567890的博客 437

[NOIP2010]关押罪犯(扩展域并查集)

二倍扩展域并查集

weixin_49646622的博客 328

从爆仓到流畅发货:我们如何用EIQ分析给跨境小电商仓库做了一次‘体检’与‘手术’

本文分享了如何通过EIQ分析工具为跨境小电商仓库进行诊断与优化,从爆仓危机到流畅发货的实战经验。通过ABC分类法、动态路径算法等策略,拣货效率提升40%,错发率降低91%,日均处理能力翻倍。文章为小电商提供了轻量级工具选择和关键指标监控的实用建议。

weixin_28707739的博客 397

ubuntu-25.04-desktop-amd64 工具VMware-tools 正确安装方法

摘要:Ubuntu 25.04虚拟机安装VMware Tools后无法实现主机与虚拟机间的文件复制粘贴和拖拽功能,问题可能源于工具兼容性。建议优先安装open-vm-tools套件(含open-vm-tools-desktop),而非官方VMware Tools。具体方案:通过终端执行安装命令后重启系统。该方法已实测有效解决该兼容性问题。(149字)

安徽锐锋科技-沐雨潇竹 672

P1525 [NOIP2010 提高组] 关押罪犯【并查集】

NOIP2010 提高组 T3。

海岛Blog 1308

OpenClaw Manager Pro - 可视化管理工具

OpenClaw Manager Pro 是一个现代化的 Web 管理界面,用于管理多个 OpenClaw Gateway 实例。🎨美观的界面:深色主题,渐变设计,现代化 UI📡实时监控:WebSocket 实时推送状态和日志🔧完整管理:创建、编辑、删除、启动、停止 Gateway📊多渠道支持:飞书、Telegram、Discord、Slack、微信、钉钉🧩技能管理:可视化配置 61+ 个技能🌍跨平台:支持 macOS、Linux、Windows使用自定义模型系统会自动在中创建},

Maynor的博客 3086

洛谷 P1525 关押罪犯 并查集

洛谷 P1525 关押罪犯 并查集 题解: (1)我们需要先对所有边的权值(也就是矛盾值)按照权值从大到小的顺序进行排序,为什么要排序呢,因为我们需要尽量把两个仇恨值大的罪犯分到不同的集合,所以要先对他们进行处理。 (2)然后这里有一个原则,就是敌人的敌人可能是朋友,怎样理解这句话呢?可以理解为自己的两个敌人可能是朋友,我们把自己的两个敌人分到一个集合中,自己在一个集合,他们之间可能不存在矛盾,此...

化身孤岛的鲸o的博客 470

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

(带权并查集)洛谷P1525关押罪犯

洛谷P1525关押罪犯 思路: 犯人之间的关系我们可以用一个数来表示,0表示在一个监狱里,1表示不在一个监狱里。为了使最大值尽可能小,我们先从大到小排序。然后并查集,依次判断两个人的父节点是否相同(存在关系),如果不存在就合并;存在就判断两个人是否在同一个监狱,在就输出两个人的矛盾值。 代码: #include<bits/stdc++.h> #define pii pair<in...

Z7784562的博客 426

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

洛谷 P1525 关押罪犯 并查集变形 结构体排序 重写cmp函数

题目链接: https://www.luogu.com.cn/problem/P1525 参考博客: https://www.luogu.com.cn/blog/chtholly20094/solution-p1525 这个博客写的很棒,建议复习时再看 算法: 并查集 思路: 1:并查集:但因为它们带有权值,因此排序是必须的,我们要尽可能让危害大的罪犯在两个监狱里 2:那么,再结...

aiwo1376301646的博客 285

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

【并查集练习】【洛谷】P1525 关押罪犯

【并查集练习】【洛谷】P1525 关押罪犯 0.总结 Get to the points first. The article comes from LawsonAbs! 使用并查集的思想解决问题 合理使用数组打辅助 1.题意 给出罪犯间的破坏力值,将这些罪犯分成两拨,使得他们之间的暴力值最小。 2.思想 2.1主要思想 使用并查集解决问题 2.2 主要步骤 将破坏力按照从大到小的顺...

说文科技,做有态度的研究。 932

NOIP 2010年 提高组 关押罪犯(洛谷P1525)—— 扩展并查集

题目 有帮助就点个赞吧qwq

2301_77904912的博客 353

洛谷 P1525 关押罪犯【种类并查集】

题目描述 SSS 城现有两座监狱,一共关押着 NNN 名罪犯,编号分别为 1−N1-N1−N 。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。 我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为 ccc 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为 ccc 的冲突事件。 每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到 SSS 城 ZZZ

memcpy0的博客 659

洛谷P1525 关押罪犯【并查集】【二分图】

题目链接:P1525 关押罪犯 程序说明: 贪心思想,想要将怨气值最小化,就要优先处理怨气值大的两个顶点,将他们分别放在不同的集合。enemy数组记录敌人,每次把与自己敌对的人放进一个集合。 代码如下: #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int N = 20010, M = 100010; //enemy[i]表示i的敌人 int

cutlery1137的博客 358

洛谷P1525关押罪犯——并查集

题目:https://www.luogu.org/problemnew/show/P1525 并查集+贪心,从大到小排序,将二人分在不同房间,找到第一个不满足的即为答案。 代码如下: #include<iostream> #include<cstdio> #include<algorithm> using namespace std; ...

aodan5477的博客 128

洛谷 P1525 关押罪犯(算法竞赛进阶指南, 并查集,贪心)

算法竞赛进阶指南,261页,并查集,贪心 本题要点: 1、贪心: 先把所有的边从大到小排序,然后依次将边的两个点分到不同的两监狱中。 (越大的怒气值的一组罪犯应分在两个不同的监狱里) 如果选到某一条边,这条边的两个端点恰好在同一个集合中,说明这条边的长度就是答案。 2、使用并查集: 扫描每条边,两个端点(假设两个点为a, b点)位于不同的监狱中,这两个点互为敌人; 如果a点有敌人(enemy[a] != 0),说明之前a点已经被分配到某个监狱了, 那么b点应该加入 enemy[a] 所在的集合; 如果a点

qq_38232157的博客 296

洛谷P1525 关押罪犯 带权并查集

总共有两个监狱。并且给出n≤2e4n\leq2e4n≤2e4名罪犯,以及m≤1e5m\leq1e5m≤1e5对关系,每对关系都有一个权值,然后对于每对关系都要求不能放到同一个监狱里面,然后求问使得最终无法满足条件的最小的权值是多少。 先对权值从小到大排序,然后依次合并,记录每个点到根的距离。如果对于每对关系,两个点已经在同一个集合并且距离奇偶相同,则此处无解,只能输出。 #include<b...

qq_40859782的博客 357

每日一题001-并查集-洛谷p1525关押罪犯

这样目前分到的罪犯都没有仇恨值,直到处理数据的时候发现两个罪犯已经在同一个监狱中后,说明这个仇恨值就是最大的,因为比他大的仇恨值都拆开了不在一个监狱,所以是0,而比他小的仇恨值又没有意义了(求最大的仇恨值),也就是后面的数据不需要再处理了(前提是已经排序好了)。是的,实际上我应该把他们分在两个监狱中,但是我现在不需要操作,因为他们是新人,和别的罪犯都没有仇(根据目前的数据),所以是把罪犯一分在监狱1还是监狱2是没有意义的,只要罪犯一和罪犯二不在一个监狱就行,所以我暂时什么也不用干,你就当随便分了一个监狱。

zjh的博客 880
上一篇: 洛谷 P1113 杂务(搜索_图论)
下一篇: 洛谷 P1111 修复公路(最小生成树)
Dawn_LLLLLLL
博客等级 码龄9年 12粉丝 59原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值