BZOJ4423: [AMPPZ2013]Bytehattan

本文介绍了BZOJ4423:[AMPPZ2013]Bytehattan的问题解决思路,通过使用对偶图和并查集的方法来判断删除特定边是否会导致图中某些顶点变得不连通。具体实现中,文章详细解释了如何通过并查集维护空块之间的联通性,并给出了完整的代码示例。

BZOJ4423: [AMPPZ2013]Bytehattan

对偶图·并查集

题解:

http://www.cnblogs.com/lcf-2000/p/6217985.html

  删除一条边可以看做把两个空块连通。当删除一条边时这条边紧邻的两个空块已经连通了,那么删除这条边会导致这条边的两个顶点不连通。

  仔细想想觉得非常有道理。当删除一条边时发现这条边紧邻的两个空块已经连通了,那么删除这条边后会出现一个空块连成的环,于是就把里面的点和外面的点给隔开了。

  之后的事就非常简单了。将空块抠出来,然后并查集维护联通性即可。

Code:

#include <iostream>
#include <cstring>
#include <cstdio>
#define D(x) cout<<#x<<" = "<<x<<"  "
#define E cout<<endl
using namespace std;
const int N = 1500*1500+5;

int n,k,id[1505][1505];

struct MergeSet{
    int pa[N]; 
    void init(int sz){ for(int i=1;i<=sz;i++)pa[i]=i; }
    int find(int x){ if(pa[x]!=x)pa[x]=find(pa[x]); return pa[x]; }
} ms;

void init(){
    for(int i=1;i<=n-1;i++)
        for(int j=1;j<=n-1;j++)
            id[i][j]=(i-1)*(n-1)+j;
}

void getblock(int a,int b,char op,int &x,int &y){
    if(op=='N'){ x=id[a-1][b]; y=id[a][b]; }
    else{ x=id[a][b-1]; y=id[a][b]; }
}

int main(){
    freopen("a.in","r",stdin);
    int a1,a2,a,b1,b2,b,x,y,ans=1; char op[5];
    scanf("%d%d",&n,&k);
    init(); ms.init(n*n);
    for(int i=1;i<=k;i++){
        scanf("%d%d%s",&a1,&b1,op);
        scanf("%d%d%s",&a2,&b2,op+1);
        if(ans)a=a1,b=b1,op[0]=op[0];
        else a=a2,b=b2,op[0]=op[1];
//      D(a); D(b); D(op[0]); E;
        getblock(a,b,op[0],x,y);
//      D(x); D(y); E;
        x=ms.find(x); y=ms.find(y);
        if(x==y)ans=false;
        else ans=true, ms.pa[x]=y;
        printf("%s\n",ans?"TAK":"NIE");
    }
}
代码下载地址: https://pan.quark.cn/s/b4a8e0160cfc 齿轮与轴系零件在机械设备中扮演着至关重要的角色,它们负责实现动力传输、调整运动形态以及承受工作载荷等核心功能。 在机械工程的设计实践中,齿轮和轴系的设计是一项关键的技术任务,其内容涵盖了材料选用、构造规划、承载能力分析等多个技术层面。 下面将系统性地介绍《齿轮及轴系零件结构设计指导书》中的核心知识点。 一、齿轮设计1. 齿轮种类:依据齿廓轮廓的不同,齿轮可划分为直齿齿轮、斜齿轮以及人字齿轮等类别,各类齿轮均具有特定的性能特点与适用工况,能够满足多样化的工作环境与载荷需求。 2. 齿轮规格参数:模数大小、压力角数值、齿数数量、分度圆尺寸等是齿轮设计的基础数据,这些参数直接决定了齿轮的物理尺寸与运行性能。 3. 齿轮材质选用:齿轮材料的确定需综合评估其耐磨损性能、硬度水平以及韧性表现,常用的材料包括铸铁、钢材、铝合金等。 4. 齿轮强度验证:需进行齿面接触应力分析与齿根弯曲应力分析,以确保齿轮在实际运行过程中不会出现过度磨损或结构破坏。 5. 齿轮加工工艺:涉及切削加工、滚齿加工、剃齿加工、淬火处理等工艺流程,工艺方案的选择将直接影响齿轮的加工精度与使用寿命。 二、轴设计1. 轴的分类方式:依据轴在机械装置中的功能定位与受力特点,可将轴划分为心轴、转轴以及传动轴等类型。 2. 轴的材料选择:通常采用钢材作为轴的材料,例如碳素结构钢或合金结构钢,特殊需求时可选用不锈钢材料或轻质合金材料。 3. 轴的构造规划:需详细考虑轴的轴向长度、截面直径、键槽布置、轴承安装位置等要素,以满足轴的强度要求、刚度要求以及稳定性要求。 4. 轴的强度验证:需进行轴的扭转强度分析与弯曲强度分析,以防止轴在运行过程中发生塑性变形...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值