AcWing 240. 食物链(并查集)

智能预测性维护AI系统实战效率提升:AI应用架构师的技巧分享 在工业领域,预测性维护(Predictive Maintenance, PdM)是降低停机损失、优化维护成本的关键手段。然而,现有系统往往面临三大效率瓶颈数据处理延迟:工业设备产生的海量实时数据(如传感器、PLC)需传输至云端处理,导致预警滞后;模型推理效率:复杂深度学习模型(如ResNet、Transformer)在边缘设备上推理时间长,无法满足实时要求;落地集成困难:与企业现有ERP、MES、SCADA系统对接繁琐,导致“模型好用但业务不用”的尴尬。本文从架构、数据、模型、落地架构设计。 阅读详情

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。

A吃B, B吃C,C吃A。

现有N个动物,以1-N编号。

每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。

有人用两种说法对这N个动物所构成的食物链关系进行描述:

第一种说法是”1 X Y”,表示X和Y是同类。

第二种说法是”2 X Y”,表示X吃Y。

此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。

当一句话满足下列三条之一时,这句话就是假话,否则就是真话。

1) 当前的话与前面的某些真的话冲突,就是假话;
2) 当前的话中X或Y比N大,就是假话;
3) 当前的话表示X吃X,就是假话。

你的任务是根据给定的N和K句话,输出假话的总数。

输入格式

第一行是两个整数N和K,以一个空格分隔。

以下K行每行是三个正整数 D,X,Y,两数之间用一个空格隔开,其中D表示说法的种类。

若D=1,则表示X和Y是同类。

若D=2,则表示X吃Y。

输出格式

只有一个整数,表示假话的数目。

数据范围

1≤N≤500001≤N≤50000,
0≤K≤1000000≤K≤100000

输入样例:

100 7
1 101 1 
2 1 2
2 2 3 
2 3 3 
1 1 3 
2 3 1 
1 5 5

输出样例:

3

算法思想:根据节点之间的距离来计算动物之间的关系。


import java.io.*;
import java.lang.*;

class Main{
    
    static int n = 0, k = 0, N = 50010;
    static int[] d = new int[N], p = new int[N];//到根节点的距离,以及并查集
    static int find(int x){
        if(x != p[x]){//带权值的路径压缩
            int t = find(p[x]);
            d[x] += d[p[x]];
            p[x] = t;
        }
        return p[x];
    }
    public static void main(String[] args)throws Exception{
        BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
        String[] params = buf.readLine().split(" ");
        n = Integer.valueOf(params[0]);
        k = Integer.valueOf(params[1]);
        
        //初始化并查集
        for(int i = 1; i <= n; ++i){
            p[i] = i;
        }
        int res = 0;
        while(k -- != 0){
            String[] info = buf.readLine().split(" ");
            int s = Integer.valueOf(info[0]);
            int x = Integer.valueOf(info[1]);
            int y = Integer.valueOf(info[2]);
            if(x > n || y > n){
                res ++ ;//越界
            } 
            else{
                //查找并查集的根节点
                int px = find(x), py = find(y);
                if(s == 1){
                    //在一个集合的情况下,比较双方是否在同一个分类
                    if(px == py && (d[x] - d[y]) % 3 != 0) res ++ ;
                    else if(px != py){//不再一个集合,合并两个集合并设置属于同一类
                        //并查集合并 将px连接到py
                        p[px] = py;
                        d[px] = d[y] - d[x];
                    }
                }else{
                    if(px == py && (d[x] - d[y] - 1) % 3 != 0) res ++ ;
                    else if(px != py){
                        p[px] = py;
                        d[px] = d[y] + 1 - d[x];
                    }
                }
            }
        }
        System.out.print(res);
        
        
    }
}

 

 

分立器件---电感介绍(7000字) 电感基础整理 阅读详情

相关推荐

Amesim与Simulink联合仿真:S-Function接口配置与实战避坑指南

本文详细介绍了Amesim与Simulink联合仿真中S-Function接口的配置方法与实战避坑指南。从环境搭建、编译器配置到S-Function接口实战,逐步解析关键步骤与常见问题解决方案,帮助工程师高效实现多领域系统仿真,特别适合汽车、航空航天等复杂系统建模场景。

weixin_29173777的博客 344

AcWing 240. 食物链(并查集,种类并查集,带权并查集)

动物王国中有三类动物 A,B,C,A,B,C,A,B,C,这三类动物的食物链构成了有趣的环形。AAA 吃 BBB,BBB 吃 CCC,CCC 吃 AAA。现有 NNN 个动物,以 1∼N1∼N1∼N 编号。每个动物都是 A,B,CA,B,CA,B,C 中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这 NNN 个动物所构成的食物链关系进行描述:第一种说法是 ,表示 XXX 和 YYY 是同类。第二种说法是 ,表示 XXX 吃 YYY。此人对 NNN 个动物,用上述两种说法,一句接一句地说出 KKK

qq_62261504的博客 591

RK3588与FPGA高速PCIe通信:从理论带宽到实战优化的全流程解析

本文深入解析了瑞芯微RK3588与FPGA之间基于PCIe Gen2的高速通信全流程。从理论带宽计算(约1640MB/s)出发,详细拆解了硬件连接、驱动加载、DMA配置等关键步骤,并重点分享了中断优化、内存管理及高级调优等实战技巧,旨在帮助开发者从“跑通”到“跑好”,实现接近理论极限的稳定高效数据传输。

weixin_29175469的博客 332

AcWing 240. 食物链 边带权并查集

AcWing 240. 食物链 题意 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。给出他们之间的关系,判断有几句话是假话。每句话的格式如下: 1 X Y ,表示 X和Y是同类 2 X Y ,表示X吃Y 当一句话满足下列三条之一时,这句话就是假话,否则就是真话。 当前的话与前面的某些真的话冲突,就是假话; 当前的话中X或Y比N大,就是假话; 当前的话表示X吃X,就是假话。 输出有几句假话。 解法 考虑边带权并查集。 X吃Y可以转化为 X−Y=1X-Y

bandiaoz的博客 172

OpenHarmony实战开发-如何实现文件分布式同步编辑

在分布式文件场景中,分布式设备管理包含了分布式设备搜索、分布式设备列表弹窗、远端设备拉起三部分。首先在分布式组网内搜索设备,然后把设备展示到分布式设备列表弹窗中,最后根据用户的选择拉起远端设备。两台设备组网的分布式场景是工作中常常需要的。这样的分布式场景有助于加快工作效率,减少工作中的冗余,本例将为大家介绍如何实现上述功能。​ (2)订阅分布式数据变化:通过this.distributedObject.on(‘status’, this.statusCallback)监听分布式数据对象的变更。

2401_82546228的博客 751

保姆级教程:在Ubuntu 22.04上用VLLM+OpenWebUI部署DeepSeek-R1-14B(含Q8量化模型下载)

本文提供在Ubuntu 22.04上使用VLLM和OpenWebUI部署DeepSeek-R1-14B大语言模型的完整教程,包括环境配置、模型下载、VLLM参数调优及OpenWebUI集成。特别针对Q8量化模型优化部署流程,解决CUDA版本冲突等常见问题,适合开发者快速搭建本地AI对话系统。

weixin_26712075的博客 430

并查集 AcWing 240. 食物链

并查集 AcWing 240. 食物链

T_Y_F_的博客 165

使用Microsoft Print to PDF进行编程:创建PDF文件的简单方法

Microsoft Print to PDF是一种内置于Windows操作系统中的功能,它允许我们通过打印操作将任何可打印的内容保存为PDF文件。然后,我们使用Microsoft Print to PDF打印机进行打印操作,并将输出文件保存为指定的PDF文件。使用Microsoft Print to PDF功能是一种方便且简单的方法来创建PDF文件,无论是在个人使用还是在企业开发中,它都可以提供良好的支持和灵活性。请注意,如果你使用的是其他编程语言,你可以根据相应的打印机接口或库来实现类似的功能。

TechSavant的博客 1635

AcWing 240. 食物链(带权并查集)

AcWing 240. 食物链 1.题目描述 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。 A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1∼N 编号。 每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X Y,表示 X 和 Y 是同类。 第二种说法是 2 X Y,表示 X 吃 Y。 此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,

weixin_52215684的博客 245

【人工智能】 WebDev Arena:实时AI Web开发竞赛的技术探索与价值

《AI编程竞赛推动Web开发技术创新》摘要:WebDev Arena作为聚焦Web开发领域的实时AI编程竞赛,通过标准化竞技环境检验AI模型在代码生成、问题解决等方面的能力。竞赛覆盖前端、后端等全流程开发环节,采用实时评分机制,推动AI对复杂Web需求的理解和多元技术栈适配。该赛事不仅促进AI编程技术创新,更为Web开发行业与AI技术融合搭建桥梁,有望提升开发效率、降低技术门槛。未来将拓展Web3.0等前沿技术主题,持续推动行业智能化发展。(150字)

奶爸的编程之路,也就一周冷个三天 255

基于粒子群算法优化的灰色预测模型GM实现数据预测(附带MATLAB代码)

灰色预测模型(Grey Model,简称GM)是一种常用的非线性时间序列预测方法,它在处理少量数据和缺乏规律性的序列预测问题上表现出良好的性能。c. 建立灰色微分方程:根据紧邻均值生成序列建立灰色微分方程,通常形式为:dx(n) + ax(n) = b,其中dx(n)是紧邻均值生成序列,x(n)是原始序列。为了提高GM模型的预测准确性,我们将使用粒子群算法来优化灰色微分方程的参数a和b。a. 利用灰色微分方程进行预测:根据已得到的灰色微分方程,进行后续时间点的数据预测。首先,定义了两个函数。

CoderExtra的博客 606

带边权并查集的实现原理和相关题目详解(AcWing 240. 食物链)

并查集中数组的含义 : 由上可知,p数组和d数组都在维护与父节点的关系,但我们在实际问题中通常需要通过维护它与根节点的关系来解决问题,因此我们需要通过find函数运用递归的思想实现路径压缩并且找到目标节点与根节点的关系。

m0_73813117的博客 244

Swin Transformer 与 CNN 结合实现图像分类

Swin Transformer 与 CNN 结合实现图像分类。(含swin transformer 结构讲解,cnn网络搭建,代码)

这里是Mae。 5026

AcWing 240. 食物链 | 并查集

传送门 题目描述 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同类。 第二种说法是”2 X Y”,表示X吃Y。 此人对N个动...

weixin_38166852的博客 133

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ACWing 240 食物链(并查集)

动物王国中有三类动物 A,B,C这三类动物的食物链构成了有趣的环形。 A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1∼N 编号。 每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X Y,表示 X 和 Y 是同类。 第二种说法是 2 X Y,表示 X 吃 Y。 此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。 当一句话满足下列三条之一时,这句话

cool-wangtongzhou 269

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ACwing 240.食物链(并查集)

并查集应用:维护额外信息。

qq_23334761的博客 392

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

AcWing 240. 食物链(带权并查集)

题目链接 :点击查看 题目描述 : 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B,B 吃C,C吃A。 现有N个动物,以1∼N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N 个动物所构成的食物链关系进行描述: 第一种说法是1 X Y,表示X和Y是同类。 第二种说法是2 X Y,表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的...

在森林里麋了鹿 249

AcWing-240. 食物链【 带权并查集 】题解

目录1.题目2.思路1.路径压缩时,如何更新Value2.区间合并时,如何更新Value3.如何判断是否矛盾3.代码 1.题目 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同类。 第二种说法是”2 X Y”,表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地

林深不见鹿 的博客 479

AcWing 240 食物链 并查集模板

动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。 A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1∼N 编号。 每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X Y,表示 X 和 Y 是同类。 第二种说法是 2 X Y,表示 X 吃 Y。 此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。 当一句话满足下列三条之一时,这句

qq_45437180的博客 166

【并查集】| AcWing 240. 食物链

240. 食物链 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。 A 吃 B,B 吃 C,C 吃 A。 现有 N 个动物,以 1∼N 编号。 每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这 N 个动物所构成的食物链关系进行描述: 第一种说法是 1 X Y,表示 X 和 Y 是同类。 第二种说法是 2 X Y,表示 X 吃 Y。 此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。 当一句话满足下

HangHug_L的博客 275

AcWing 240.食物链( 并查集 )

并查集做法 并查集算法 AcWing 240.食物链 动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。 A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。 每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是”1 X Y”,表示X和Y是同类。 第二种说法是”2 X Y”,表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。 当一句话满足下列三条之一时,

是微风,是晚霞,是无可替代 163

Acwing.240 食物链(并查集)

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,有的是假的。以下K行每行是三个正整数D,X,Y,两数之间用一个空格隔开,其中D表示说法的种类。一句话满足下列三条之一时,这句话就是假话,否则就是真话。你的任务是根据给定的N和K句话,输出假话的总数。第一种说法是"1× Y”,表示X和Y是同类。第二种说法是"“2×Y”,表示X吃Y。若D=1,则表示X和Y是同类。若D=2,则表示X吃Y。

qq_62235017的博客 131

★★★[并查集变形] AcWing 240. 食物链 题解

输入样例: 100 7 1 101 1 2 1 2 2 2 3 2 3 3 1 1 3 2 3 1 1 5 5 输出样例: 3 思路: 我们可以将食物链的环状捕食关系用并查集的形式表现出来,印射成某节点距根节点的距离取余3的值(0 / 1 / 2 ),差值为1的即为捕食与被捕食的关系,如 2 - > 1 - > 0 ->2表示的是2吃1, 1吃0(0可以吃2 ) 重点: 1. #include <iostream>...

☆迷茫Dog的秘密基地☆ 223

并查集:AcWing 240. 食物链

动物王国中有三类动物A,B,CA,B,C,这三类动物的食物链构成了有趣的环形。 AA吃BB,BB吃CC,CC吃AA。 现有NN个动物,以1∼N1∼N编号。 每个动物都是A,B,CA,B,C中的一种,但是我们并不知道它到底是哪一种。 有人用两种说法对这NN个动物所构成的食物链关系进行描述: 第一种说法是1 X Y,表示XX和YY是同类。 第二种说法是2 X Y,表示XX吃YY。 此人对NN个动物,用上述两种说法,一句接一句地说出KK句话,这...

fanlangke的博客 217

【AcWing 240. 食物链 】带权并查集

题目链接 题意: 一共有三类动物,A,B,C,有这么一种关系A吃B,B吃C,C吃A,现在给你N个动物,M个关系,问有多少个关系是错误的。输入的格式为 op x y,当op = 1时表示 x 和 y 是同类,当op = 2时表示 x 吃 y。 分析: 这个题很明显的就是带权并查集了,边的权重代表的是到这个集合的根节点的距离,当x到根节点的距离比y少1的时候就代表x吃y,现在有d数组表示点到根节点的距离,若(d[x]-d[y]+3)%3 = 0表示x和y是同类,若(d[x]-d[y]+3)%3=1表示y吃x,现

weixin_51979465的博客 210

AcWing 240. 食物链--带权并查集

AcWing 240. 食物链 #include<bits/stdc++.h> #include <unordered_map> using namespace std; template <typename T> void debug(string s, T x) { cout << s << "=" << x << "\n"; } typedef long long ll; typedef unsigned long

weach的博客 379
上一篇: AcWing 282. 石子合并(区间DP)
下一篇: AcWing 91. 最短Hamilton路径(状态压缩DP)
AARM
博客等级 码龄10年 10粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值