wustoj 1318 区间的连通性 (最短路)

floyd求最短路判断图的联通性。

注意图是有向图。。。

#include<cstdio>
#include<iostream>
#include<cstring>

using namespace std;

struct node
{
    int x,y,id;
}edge[205];

int dis[205][205];

int main()
{
    int c,T,n,a,b,op;

    while(scanf("%d",&T)!=EOF)
    {
        memset(dis,0,sizeof(dis));
        memset(edge,0,sizeof(edge));
        c = 1;
        for(int i=1;i<=T;i++)
        {
            scanf("%d%d%d",&op,&a,&b);
            if(op==1)
            {
                edge[c].x = a;
                edge[c].y = b;
                edge[c].id = c;
                for(int k=1;k<c;k++)
                {
                    if((edge[k].x<a && a<edge[k].y) || (edge[k].x<b && b<edge[k].y))
                        dis[c][k]=1;

                    if((a<edge[k].x && edge[k].x<b) || (a<edge[k].y && edge[k].y<b))
                        dis[k][c]=1;
                }
                c++;
            }
            else
            {
                if(dis[a][b]) printf("YES\n");
                else
                {
                    for(int x=1;x<c;x++)
                    {
                        for(int j=1;j<c;j++)
                        {
                            for(int l=1;l<c;l++)
                                if(dis[j][x] && dis[x][l])
                                    dis[j][l]=1;
                        }
                    }
                    if(dis[a][b])
                        printf("YES\n");
                    else printf("NO\n");
                }
            }
        }
    }
    return 0;
}

wustoj 1318 区间的连通性 (最短路),码迷,mamicode.com

时间: 2024-11-10 13:19:45

wustoj 1318 区间的连通性 (最短路)的相关文章

生成树&amp;最短路总结篇

1.模板题  我是用prim搞得 给出每点坐标求最小生成树 hdu1162Eddy's picture 最小生成树 #include <iostream> #include<cstdio> #include<cstring> #include<cmath> using namespace std; int flag1=0; double sum; double arr_list[110][110]; struct Edge { int point; doub

[hihoCoder#1381]Little Y&#39;s Tree

[hihoCoder#1381]Little Y's Tree 试题描述 小Y有一棵n个节点的树,每条边都有正的边权. 小J有q个询问,每次小J会删掉这个树中的k条边,这棵树被分成k+1个连通块.小J想知道每个连通块中最远点对距离的和. 这里的询问是互相独立的,即每次都是在小Y的原树上进行操作. 输入 第一行一个整数n,接下来n-1行每行三个整数u,v,w,其中第i行表示第i条边边权为wi,连接了ui,vi两点. 接下来一行一个整数q,表示有q组询问. 对于每组询问,第一行一个正整数k,接下来一

bzoj1018

1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 2208  Solved: 687[Submit][Status][Discuss] Description 有一天,由于某种穿越现象作用,你来到了传说中的小人国.小人国的布局非常奇特,整个国家的交通系统可以被看成是一个2行C列的矩形网格,网格上的每个点代表一个城市,相邻的城市之间有一条道路,所以总共有2C个城市和3C-2条道路. 小人国的交通状

从Loopback接口扯一通Linuxer和Cisco NP/IE谁能爆了谁

NA,NP,IE们整天都会接触到loopback接口,他们在培训的时候,会从书上学到很多关于loopback,很多复习提纲上都会有整整两页的纸将loopback接口的作用总结得让人看到就不禁想要背下来. Linuxer们也会接触到这个接口,但是在称呼上比职业网管省力多了,他们会将其称为lo,音节上少了几个音,但是对于说英文的来讲,其实反而更费力 了...不管怎么,写法上确实少写了几个字母.这个群体了解到的关于lo的用法相比职业NA/NP/IE们就少多了,他们一般都会觉得lo只是用于测试协 议栈的

【BZOJ】【1018】【SHOI2008】堵塞的交通traffic

线段树 这题的线段树+分类讨论蛮神奇的……我以前学的线段树简直就是渣渣QAQ 看了下ydc题解里的思想>_>用线段树维护连通性!那么就自己写吧……每个节点表示一段区间的连通性(我的叶子节点表示的是一个方块型的四个点之间的连通性,所以我直接n--了)对线段树上每个节点维护6个信息,即四个端点中任意一对点之间的连通性. 维护连通性的时候要进行信息的整合,也就是说间接连通的要全部找到并标记上连通,举个例子:如果左边连通且下边两端点连通,则左上到右下连通.这是一个简单的讨论我就不细说了,自己想一下真的

HDU 5361 In Touch (2015 多校6 1009)

题目:http://acm.hdu.edu.cn/showproblem.php?pid=5361 题意:最短路,求源点到所有点的最短距离.但与普通最短路不同的是,给出的边是某点到区间[l,r]内任意点的距离. 输入一个n,代表n个点,输入n个l[i],输入n个r[i],输入n个c[i]. 对于i,表示i到区间[i - r[i]],i - l[i]]和区间[i + l[i],i + r[i]]内的任意点的距离为c[i]. 求1到各个点的最短距离. 思路:若建边跑最短路的话,因为边过多,所以不可行

专题补全计划

专题补全计划 概述 时间: 寒假+大三下学期 要求: 1.每一类型的专题都要有专门的总结贴,有新的体会应该去更新总结贴. 2.大量做题和总结,及时复习,整理模板. 3.适当与外界交流,必要时需要完善训练计划. 4.持之以恒! 模板链接:(待完善) https://github.com/Wowkiee/ACM-ICPC/tree/master/template 知识点(待完善) 数据结构 ST表 线段树 主席树 动态规划 动态规划 区间dp 图论 最短路 最小生成树 网络流 联通分量 数学 pol

day1训练(省赛前)

考完期中考试的弱鸡补题恢复状态ing. 416div2A. (水题 #include <bits/stdc++.h> #define ll long long #define s second #define f first #define inc(i,l,r) for(int i=l;i<=r;i++) #define dec(i,r,l) for(int i=r;i>=l;i--) const int MAXN=1e5+10; using namespace std; int

HDU-4370 &#39;0 or 1&#39; 最短路 要考虑连通性

题目链接:https://cn.vjudge.net/problem/HDU-4370 题意 给一个矩阵C(nn),要我们找到一个矩阵X(nn),满足以下条件: X_{12}+X_{13}+...X_{1n}=1 X_{1n}+X_{2n}+...X_{n-1n}=1 for each i (1<i<n), satisfies ∑X_{ki} (1<=k<=n)=∑X_{ij} (1<=j<=n). min ∑C ij*X ij 思路 如果把X当成一个邻接矩阵,可以发现