POJ 3723 Conscription——————求森林最大权

D4与D5平台对显卡性能的真实影响:PCIe带宽、内存延迟与DMI瓶颈深度解析 PCIe带宽和内存子系统是决定GPU实际性能的关键底层因素,而非仅由显卡自身参数决定。PCIe协议版本(如4.0/5.0)、通道拓扑结构、CPU直连能力,以及DDR4/DDR5在延迟与带宽上的差异,共同构成数据通路的‘吞吐—延迟—调度’三角约束。其中,DMI总线带宽限制常被忽视,却在直播、AI推理、多任务渲染等混合IO场景中成为性能拐点;而Resizable BAR与PCIe链路训练质量则直接影响GPU能否稳定吃满系统资源。本文基于实测数据,揭示D4/D5平台在真实工作负载下的性能分水岭,为AI训练、实时渲 阅读详情

Conscription

Time Limit: 1000MS Memory Limit: 65536K
Total Submissions: 19544 Accepted: 6794
Description

Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be his soldiers. To collect a soldier without any privilege, he must pay 10000 RMB. There are some relationships between girls and boys and Windy can use these relationships to reduce his cost. If girl x and boy y have a relationship d and one of them has been collected, Windy can collect the other one with 10000-d RMB. Now given all the relationships between girls and boys, your assignment is to find the least amount of money Windy has to pay. Notice that only one relationship can be used when collecting one soldier.

Input

The first line of input is the number of test case.
The first line of each test case contains three integers, N, M and R.
Then R lines followed, each contains three integers xi, yi and di.
There is a blank line before each test case.

1 ≤ N, M ≤ 10000
0 ≤ R ≤ 50,000
0 ≤ xi < N
0 ≤ yi < M
0 < di < 10000

Output

For each test case output the answer in a single line.
Sample Input

2

5 5 8
4 3 6831
1 3 4583
0 0 6592
0 1 3063
3 3 4975
1 3 2049
4 2 2104
2 2 781

5 5 10
2 4 9820
3 2 6236
3 1 8864
2 4 8326
2 0 5156
2 0 1463
4 1 2439
0 4 4373
3 4 8889
2 4 3133
Sample Output

71071
54223


中文意思
在这里插入图片描述

可以转化为无向图中的最大权森林问题
可以把变得权值变成负的然后可以用最小生成树算法求解

// #include<bits/stdc++.h>
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;

typedef long long ll;
const int MAXN = 5e4+5;
int p[MAXN];
struct edge{
        int from,to,cost;
        edge(){};
        edge(int _from, int _to, int _cost){
                from = _from;
                to = _to;
                cost = _cost;
        }
}es[MAXN];

void init(int n){
        for(int i=0;i<=n;++i){
                p[i] = i;
         }
}
int find(int x){
        return p[x]==x?x:p[x]=find(p[x]);
}
void join(int x, int y){
        x = find(x);
        y = find(y);
        if(x!=y)        p[y] = x;
}

bool cmp(edge x, edge y){
        return x.cost<y.cost;
}


int main()
{
        // freopen("../in.txt","r",stdin);
        // freopen("../out.txt","w",stdout);
        int t,n,m,r,x,y,d;
        scanf("%d",&t);
        while(t--){
                scanf("%d %d %d",&n,&m,&r);
                init(n+m);
                for(int i=0;i<r;++i){
                        scanf("%d %d %d",&x,&y,&d);
                        es[i] = edge(x,n+y,-d);
                }
                sort(es,es+r,cmp);
                int sum = 0;
                for(int i=0;i<r;++i){
                        edge e = es[i];
                        if(find(e.from)!=find(e.to)){
                                sum += e.cost;
                                join(e.from, e.to);
                        }
                }
                printf("%d\n",10000*(n+m)+sum);

        }
        return 0;
}

PRPD图谱分析从入门到精通:5种典型放电模式的识别手册 本文详细解析PRPD图谱分析技术,重点介绍电晕放电、悬浮放电等5种典型放电模式的识别方法。通过37组真实案例对比,提供关键识别区和诊断流程图模板,帮助工程师快速掌握变电站设备状态监测的核心技能,提升绝缘缺陷诊断准确率。 阅读详情

相关推荐

AG32VF407直流电流采集仪设计:从1uA到10A宽范围采样与FPGA加速方案

本文详细介绍了基于AG32VF407芯片的直流电流采集仪设计方案,实现了从1uA到10A的宽范围采样。方案采用低噪声电源、精密运放调理、高速比较器自动档位切换及高精度ADC同步采样,并重点阐述了利用AG32VF407片内FPGA实现硬件加速以提升性能的架构思路,为精密电流测量提供了完整的硬件与FPGA加速解决方案。

weixin_33245447的博客 311

POJ-3723-最大生成树

天啦噜T^T。稍微的分析看得出这个招募顺序是一个森林,然后想不到是最大生成树。代码很裸。每一个关系就是两个点加一条边,构建一个最大生成树,每次检查两个点是否招募了,不管两个点是只有一个没招募还是两个都没招募,都是添加到最大生成树中去,然后这样都会节省出d的钱。最后用总钱数减去节省的钱就行了。#include &lt;cstring&gt; #include &lt;cstdio&gt; #incl...

alusang的博客 483

Mac上VMware Fusion手动安装VMware Tools实现跨系统复制粘贴

本文详细指导了在Mac的VMware Fusion中手动安装VMware Tools的完整流程,以解决虚拟机与宿主机之间无法复制粘贴的常见问题。通过定位安装镜像、挂载、解压并运行安装脚本,最终实现跨系统无缝数据交换,提升工作效率。

orange的博客 699

poj 3723(最大权森林)

题意:要招募n个男兵和m个女兵,而每招募一个人都要花费10000,这可是笔大开销,还好,可以用男女之间的关系减少费用,因为当招募一个士兵时,如果已招的人里与其有t点关系,则只需10000-n的费用。                  给出r对关系,求出最少费用。      分析:当招募b时,若用了b与a 的关系,则在a和b之间连一条边,很明显,当全部招募后,会连出一个森林,这个森林的总权值就是

流沙-岁月 936

SO逆向入门实战教程一:OASIS

文章目录一、前言二、准备三、Unidbg模拟执行四、ExAndroidNativeEmu 模拟执行五、算法分析六、尾声 一、前言 这是SO逆向入门实战教程的第一篇,总共会有十三篇,十三个实战。有以下几个注意点: 主打入门级的实战,适合有一定基础但缺少实战的朋友(了解JNI,也上过一些Native层逆向的课,但感觉实战匮乏,想要壮壮胆,入入门)。 侧重新工具、新思路、新方法的使用,算法分析的常见路子是Frida Hook + IDA ,在本系列中,会淡化Frida 的作用,采用Unidbg Hook + .

lilac的博客 2万+

量化数据采集实战:从App接口逆向到Python爬虫系统构建

数据采集是量化分析和自动化策略的基石,其核心原理是通过程序模拟客户端行为,从目标服务器获取结构化数据。在金融科技领域,高效、稳定的数据采集能力直接决定了策略研究的深度和时效性。面对金融App常见的反爬机制,如请求签名和身份认证,工程师需要掌握网络协议分析、接口逆向与模拟请求等关键技术。这些技术不仅能用于获取市场情绪、资金流向等高频数据,更是构建个人量化研究基础设施、实现从主观看盘到客观数据分析转型的关键一步。本文以实战为例,深入剖析了如何系统性地逆向分析数据接口、破解签名算法,并最终构建一个包含代理IP池与

weixin_29032489的博客 1481

poj3723(kruskal最大生成树)

解题思路:最小生成树裸题,由于边的数目比较少,所以选用复杂度为O(ElogV)的kruskal算法,和最小生成树的区别是边的排序由大到小排。 #include&lt;cstdio&gt; #include&lt;cstring&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; using namespace std; struct e...

qq_39861441的博客 360

基于知识图谱的档案智慧问答系统:构建智能化档案管理与知识服务新范式

基于知识图谱的档案智慧问答系统是档案管理领域的一次重要创新,它通过将档案数据转化为结构化的知识图谱,并结合自然语言处理和智能问答技术,实现了档案信息的智能化管理与服务。该系统不仅能够提升档案管理的效率,还能为用户提供更全面、更便捷的知识服务,具有广泛的应用前景和深远的社会意义。未来,随着技术的不断进步和应用场景的不断扩展,基于知识图谱的档案智慧问答系统将在更多领域发挥其价值,为档案管理领域的智能化转型提供强有力的支持。

qq_62634009的博客 1578

POJ--3723---Conscription---最大生成树

本题大体题意是:一个国王要招募士兵,现有男兵和女兵,招募一个需要10000元,但是如果一个男兵和一个女兵有关系d的话,在已经招募一个的情况下招募另一个只需花费10000-d即可。现在给出以下关系,问国王最少要花花多少钱。 最少花费就是求关系d的最大值,可以用最大生成树求,但最后不一定是一棵树,而是森林,所以需要用并查集判断二者是否已经被招募,只有在已招募情况下才能减去关系d的费用。最后要用总费用

海水梦悠悠的博客 948

【前端圭臬】二:你知道的和不知道的 HTML

关于 HTML,说几个你可能不太关注的问题。

Evan 的博客 4758

S32K1XX Autosar开发实战|全网独家复现EB MCAL Port/Dio配置、详解引脚分层原理、实现经典跑马灯助力车载IO电控落地

在NXP S32K1XX系列车规MCU的AUTOSAR标准开发体系中,MCAL(微控制器抽象层)是软硬件解耦的核心载体,而Port端口模块与Dio数字IO模块是MCAL最基础、最核心的入门模块,也是车载指示灯、按键检测、继电器驱动、外设硬件启停控制的底层支撑。区别于传统裸机直接操作寄存器的开发方式,AUTOSAR架构采用分层隔离设计,Port负责硬件静态初始化、Dio负责动态电平操控,严格遵循车规级开发规范,杜绝硬件资源冲突、引脚配置混乱等问题。

getusushu的博客 43

POJ 3723 Conscription(最小生成树 kruskal)

在POJ交题最好不用c++ 很容易卡时间 用c就过了 猛男落泪。 kruskal算法最小生成树 无向图求解最大权森林的问题 需要注意两个点: 1.男女序号问题 他们需要有唯一标识,这样才能正常连起来(男兵m编号+n就行了)。 2.cost权值需要变负,因为求得是男女之间最大的亲密度(要最小花费嘛)加个负号排序才能最大优先啊。 /* qq:1239198605 ctgu_yy...

k_koris的博客 316

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

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

POJ 3723 Conscription (求最大权森林,kruskal,并查集)

Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9902   Accepted: 3502 Description Windy has a country, and he wants to build an army to protec

Benjamin_Z的博客 1004

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Devexpress16.2.6破解工具

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

POJ 3723 Conscription(kruskal算法求最大权森林问题)

Conscription Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9673 Accepted: 3437 Description Windy has a country, and he wants

Chunzhen的博客 1583

poj 3723 Conscription 【最大生成树|最大权森林】

题目:poj 3723 Conscription 题意:要征兵n个男兵和m个女兵,每个花费10000元,但是如果已经征募的男士兵中有和将要征募的女士兵关系好的,那么可以减少花费,给出关系,求最小花费。 分析:这个题目初始一个是个二分图,以为可以从这里入手,但是这个题目这个性质没用。 初始花费没人10000,那么减去其中有关系的就是当前的花费。 要是花费最少,那么减去的最大即

大神养成中..... 5240

最大权森林·POJ-3723·Conscription

题目大意:就是要找n个女兵,m个男兵,每招一个兵的价钱是10000;然后给出男女兵之间的亲密度。亲密度的作用就是用来省钱,就是要找一个兵时,在已招的兵中,有存在与这个兵有亲密度的,这个兵的价格就为10000-max(亲密度)(就是与已招的兵中最大亲密度);思路:这边其实最终是要求最大权值森林,然后这边讲一下为什么可以转化成最大权值森林,以及怎么求解最大权值森林。1.为什么可以转化成最大权值森林?首...

吾之奉先的博客 387

POJ 3723 Conscription 最小生成树

【代码】POJ 3723 Conscription 最小生成树。

qq_53038151的博客 133

POJ 3723 Conscription (最小生成树)

题目链接 题目大意: 解题思路: 本题最大干扰是男女配对,其实这个条件一点用都没有,不要想复杂了(想成了二分图,我一开始就是这么想的。。。。) 题目要求招募n个女兵,m个男兵;但是一共就n个女兵,m个男兵,也就是说全都招募了 解法很明显,让(10000 - di)求和最小,也就是边权di求和最大,就是“最大生成树“; 那么就来实现一下最大生成树算法就行! 最大生成树算法(其实就是最小生成树的变种) 把表达式变形一下就是 10000 * (n + m) + (-d1 - d2 - d3 - d4 -

364

POJ 3723(最小生成树+优先队列)

POJ 3723 原题链接:http://poj.org/problem?id=3723 大致题意:招募n名男生与m名女生,没招募一位,底薪是10000RMB,若i男与j女之间存在亲密值,那么实际支付10000-k。 求招募n+m员工 所花最小费用 思路:最小生成树无疑了,将男生的编号加上m或者将女生编号加上n,那么就让女生和男生称为一体,换句话说 顶点数为n+m。 求最小生成树有两种方法:1.prime算法。2.kruskal算法。 本题可用kruskal(没试过prime)+并查集维护边+优先队列(so

weixin_51596558的博客 556

POJ 3723(最大生成树+kuruakal)

Conscription Time Limit: 1000MS Memory Limit: 65536K Description Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect...

诗意的栖居 503

poj3723--Conscription(最大权森林问题)

题意:招募n女,m男,其中r对有亲密关系,招募每个人花费为10000-(已经招募的人中和自己亲密度的最大值),求招募所有人的最小总花费。 思路:乍一看以为是二分图,吓得想了一下觉得还是二分图,但其实这个思路转化一下就是最大生成树模板题;可以看作先把所有人招募进来之后减掉亲密关系的优惠。亲密关系的最大优惠即为最大生成树的结果的权值。 错误思路:我的第一个思路是用最小生成树加上一个sum数组记录根节点...

weixin_44756457的博客 255

POJ3723 Conscription 【并检查集合】

Conscription Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8071   Accepted: 2810 Description Windy has a country, and he wants to build an army t...

weixin_34279184的博客 149

POJ3723

Description 链接 Windy has a country, and he wants to build an army to protect his country. He has picked up N girls and M boys and wants to collect them to be his soldiers. To collect a soldier without...

咸鱼 490

poj3723

题意:国王想n个女孩和m个男孩去当兵,买一个人得花10000块钱。有一个机会可以省钱,题目给出了R种关系,一个男孩和一个女孩有关系,如果他们其中一个人已经被买了,买另一个人就可以少花一些钱。 题解:可以把n个女孩和m个男孩当做图上的点,选所有的点就是使所有点连通,边权是花费,没有关系的两个人花费就是10000,有关系的就是10000-d。 然后通过关系建图就好,主要是理解了题然后最小生成树。

constbh的博客 357

POJ 3723 解题报告

这道题是最小生成树问题。由于“收集”每个人只能用一次“关系”,所以利用的关系不能形成环。贪心从最小的关系开始,只要不能形成环就收集。这就是kruskal用并查集的算法。最后没收集的人每人按最大代价加入总代价就可以了。 thestoryofsnow 3723 Accepted 908K 344MS C++ 2132B /* ID: thestor1 L

thestoryofsnow的专栏 572

POJ3723最小生成树

题意:从一个起点出发连接男孩子和女孩子,若是两者之间有连接的,则花费为10000-d,若是没有连接的则花费为10000 分析:很显然是一个最小生成树,但是我们希望的是d越大越好,因为d越大,10000-d就越小。因此我们在此处用-d来作为最小生成树边的权值,这样就能得出如何连接才能使花费最少了 1 #include <iostream> 2 #include <...

weixin_30894389的博客 170
上一篇: SPOJ - GCJ1C09C 释放囚犯 ——————区间dp
下一篇: POJ 3169 Layout——————简单差分约束(转化为最短路)
陶鸿杰
博客等级 码龄9年 93粉丝 298原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值