首页 > 其他分享 >P2024 [NOI2001] 食物链

P2024 [NOI2001] 食物链

时间:2024-05-03 18:11:05浏览次数:18  
标签:P2024 结点 食物链 int fy sum 查集 NOI2001 dis

原题链接

题解

带权并查集的应用,普通的并查集只能表示结点间的一种关系(如同一集合中的都是朋友)。而带权并查集的结点权值表示该结点与根结点的关系。相对应,带权并查集的路径压缩也复杂了一点。

code

 

#include<bits/stdc++.h>
using namespace std;
const int N=5e4+5;
int n,k;
int father[N],dis[N];
void build(){
    for (int i=1;i<=n;i++){
        father[i]=i;
        dis[i]=0;
    }
}
int find(int x){
    if (father[x]!=x){
        int r=find(father[x]);
        dis[x]=(dis[x]+dis[father[x]])%3;
        father[x]=r;
    }
    return father[x];
}
int main(){
    cin>>n>>k;
    build();
    int sum=0;
    for (int i=1;i<=k;i++){
        int d,x,y;
        cin>>d>>x>>y;
        if (x>n || y>n || (x==y && d==2)){
            sum++;
            continue;
        }
        int fx=find(x),fy=find(y);
        if (fx==fy){
            if ((dis[y]-dis[x]+3)%3!=d-1) sum++;
        }
        else {
            dis[fy]=(dis[x]+d-1-dis[y]+3)%3;
            father[fy]=fx;
        }
    }
    cout<<sum<<endl;
    return 0;
}

 

标签:P2024,结点,食物链,int,fy,sum,查集,NOI2001,dis
From: https://www.cnblogs.com/purple123/p/18171459

相关文章

  • P2024 [NOI2001] 食物链
    Solution:使用拓展域并查集,\(1-n\)表示\(\rmA\)群落,\(n+1-2n\)是\(\rmB\)群落,\(2n+1-3n\)是\(\rmC\)群落那么对于操作一,我们首先判断\(x\)是否吃了\(y\)或\(y\)是否吃了\(x\).若吃了,那么这句话为假若没吃,则将(x,y)(x+n,y+n)(x+2n,y+2n)三条边连......
  • BetterZip2024功能强大、操作便捷且用户体验优秀的Mac端解压缩软件
    作为一名软件专家,对于市面上各类软件都有较为深入的了解,下面介绍的是一款适用于Mac系统的解压缩软件——BetterZip,将从其功能特点、使用方法、用户体验及适用人群等方面进行详细介绍。BetterZip5-安装包绿色版下载如下:https://wm.makeding.com/iclk/?zoneid=60187首先是功......
  • BetterZip2024Mac上一款功能强大的Mac平台解压压缩软件
    一、软件概述BetterZip是一款Mac平台上的压缩解压缩工具,它为用户提供了一个方便的方式来处理各种压缩文件,包括但不限于ZIP、TAR、GZIP等格式。除了基本的压缩解压缩功能外,BetterZip还具备文件预览、文件加密、分卷压缩等高级功能,使得用户能够更加灵活高效地管理自己的压缩文件......
  • 洛谷题单指南-图的基本应用-P4017 最大食物链计数
    原题链接:https://www.luogu.com.cn/problem/P4017题意解读:食物链的顶端不会被其他生物吃,在图结构中设定为入度是0,食物链的底端不会吃其他生物,在图结构式设定为出度是0,此题就是要计算所有入度是0的点到所有出度是0的点一共有多条路径。解题思路:首先,来模拟一样样例,样例数据形成的......
  • 【合集】HZOI2024——冲刺NOIP2024
    前言喵喵于\(2024.3.18\)建立\(vjudge\)团队\(NOIP2024\),成员为全体\(HZOI2024\)初三现役人员,旗下三个板块的专题训练,分别为动态规划、图论、字符串,其中题目非紫即黑,存在少量蓝。并于\(2024.3.19\)成功关闭\(luogu\)。团队链接动态规划图论字符串接......
  • Photoshop2024(PS)和Lightroom(LR)设计的智能磨皮插件Portraiture下载
     打造完美肤质,PortraiturePS/LR专用智能磨皮插件让你的照片焕发魅力副标题:让你的照片告别粗糙皮肤和毛孔,展现自然细腻的肤质在摄影后期处理中,给照片进行磨皮和肤质优化是一项必不可少的步骤。而今天,我们为你带来了一款专为Photoshop(PS)和Lightroom(LR)设计的智能磨皮插件——......
  • NOIP2024 模拟赛1
    \(2023\)赛年的结束,\(2024\)赛年的开始。我们会继续前行,也永远会。如今走过这世间万般流连翻过岁月不同侧脸措不及防闯入你的笑颜我曾难自拔于世界之大也沉溺于其中梦话不得真假不做挣扎不惧笑话我曾将青春翻涌成她也曾指尖弹出盛夏心之所动且就随缘去吧逆着光......
  • P4017 最大食物链计数
    原题链接题解首先这题是一个有向无环图,如图,每个结点上方显示的是到达该节点的路径数,我们不难发现每个结点的路径数都由其入度结点的路径数之和,最终得出5结点的路径数。那么由此我们只需要求出每个无出度结点的路径数再相加即可。 code #include<bits/stdc++.h>usingnam......
  • POJ1182 食物链 (并查集的应用)
    POJ1182食物链(并查集的应用)Description动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法......
  • AcWing 240. 食物链
    题面:有三类动物\(A,B,C\),\(A\)吃\(B\),\(B\)吃\(C\),\(C\)吃\(A\)。现有\(N\)个动物,以\(1∼N\)编号,每个动物都是\(A,B,C\)中的一种。用两种说法对这\(N\)个动物所构成的食物链关系进行描述:第一种说法是1XY,表示\(X\)和\(Y\)是同类。第二种说法是2X......