zoj 3811 Untrusted Patrol 牡丹江网络赛c题

relay_subgraph_partition_one_slide.pptx 立即下载
Untrusted Patrol

Time Limit: 3 Seconds      Memory Limit: 65536 KB

Edward is a rich man. He owns a large factory for health drink production. As a matter of course, there is a large warehouse in the factory.

To ensure the safety of drinks, Edward hired a security man to patrol the warehouse. The warehouse has N piles of drinks and M passageways connected them (warehouse is not big enough). When the evening comes, the security man will start to patrol the warehouse following a path to check all piles of drinks.

Unfortunately, Edward is a suspicious man, so he sets sensors on K piles of the drinks. When the security man comes to check the drinks, the sensor will record a message. Because of the memory limit, the sensors can only record for the first time of the security man's visit.

After a peaceful evening, Edward gathered all messages ordered by recording time. He wants to know whether is possible that the security man has checked all piles of drinks. Can you help him?

The security man may start to patrol at any piles of drinks. It is guaranteed that the sensors work properly. However, Edward thinks the security man may not works as expected. For example, he may digs through walls, climb over piles, use some black magic to teleport to anywhere and so on.

Input

There are multiple test cases. The first line of input is an integer T indicates the number of test cases. For each test case:

The first line contains three integers N (1 <= N <= 100000), M (1 <= M <= 200000) and K (1 <= K <= N).

The next line contains K distinct integers indicating the indexes of piles (1-based) that have sensors installed. The following M lines, each line contains two integers Ai and Bi (1 <= Ai, Bi <=N) which indicates a bidirectional passageway connects piles Ai and Bi.

Then, there is an integer L (1 <= L <= K) indicating the number of messages gathered from all sensors. The next line contains L distinct integers. These are the indexes of piles where the messages came from (each is among the K integers above), ordered by recording time.

Output

For each test case, output "Yes" if the security man worked normally and has checked all piles of drinks, or "No" if not.

Sample Input
2
5 5 3
1 2 4
1 2
2 3
3 1
1 4
4 5
3
4 2 1
5 5 3
1 2 4
1 2
2 3
3 1
1 4
4 5
3
4 1 2
Sample Output
No
Yes



题意是有n个仓库,其中m个装了传感器,可以得到保安到达此仓库的信息,给出了各个仓库之间的连接关系,从一个仓库只能到有路径相连的仓库。
给出传感器记录的顺序,判断保安是否按照所给路径巡逻(即没有跨越两个没有路径相连的仓库)。
这题主要是学到了链式邻接表,比邻接矩阵可以存储更多的点和边。

代码:

#include<stdio.h>
#include<string.h>
#define N 100005
#define M 400005

int ts[N],vis[N];//ts用来记录此点是否有传感器,vis标记是否访问过此点
int p[M],q[M],next[M],first[M],kk[M];//邻接表的各个数组,p、q表示一个边的两个点,first表示与此点链接的上一条边,next表示与此边相邻的下一条边
int cnt,counts;//记录访问的边数和点数

void dfs(int u)//搜索
{
    int e,v;

    e=first[u];//从给出的u点的第一条边开始搜索
    while(e!=0)
    {
        v=q[e];//第一条边的起点
        //printf("dfs%d\t\t%d\t\n",e,v);
        if(vis[v]==0)
        {
            vis[v]=1;
            if(ts[v]==1)//如果有传感器信息
            {
                cnt++;//边数++
                counts++;//带传感器的点数++
                ts[v]=0;//取消标记传感器
            }
            else
            {
                cnt++;//边数++
                dfs(v);//深度搜索相连的下一条边
            }
        }
        e=next[e];//下一条边
    }
}

int main()
{
    int v,u,i,e,m,T,n,k,l;

    scanf("%d",&T);
    while(T--)
    {
        int x;
        memset(first,0,sizeof(first));
        memset(ts,0,sizeof(ts));
        memset(vis,0,sizeof(vis));
        //memset(next,0,sizeof(next));
        scanf("%d%d%d",&n,&m,&k);
        for(i=0;i<k;i++)
        {
            scanf("%d",&x);
            ts[x]=1;//将带传感器的标记
        }
        for(i=1;i<=m;i++)//构造邻接表,边数为m,则用i和i+m存放相反的两条边,即为没有方向
        {
            scanf("%d%d",&u,&v);
            p[i+m]=q[i]=v;
            q[i+m]=p[i]=u;
            next[i]=first[u];
            first[u]=i;
            next[i+m]=first[v];
            first[v]=i+m;
        }
        scanf("%d",&l);
        for(i=0;i<l;i++)
            scanf("%d",&kk[i]);
        if(l<k)printf("No\n");//记录到达信息不全,肯定是没有全走完
        else
        {
            ts[kk[0]]=0;//把第一个到的有传感器的点搞成0
            vis[kk[0]]=1;
            for(i=0,counts=1,cnt=1;i<l;i++)//从第一个由传感器检测到的点开始搜索
            {
                if(ts[kk[i]]==1)//如果有没搜索到的有传感器的点即跳出
                    break;
                dfs(kk[i]);
            }
            //printf("%d  %d\n",counts,cnt);
            if(counts==l&&cnt==n)//如果搜索的边数==n并且点数等于传感器记录的点数就yes
                printf("Yes\n");
            else printf("No\n");
        }
    }
}


triton-inference-server-ge-backend 新版本特性 v2.3.0 支持对全局、session、graph 的options进行添加,从而进一步调优模型,相关案例请参考 性能调优方法论。 支持采用分档模式将符合条件模型转化为静态图,提高吞吐性能。 补充如何采用分档模式+锁核+调整精度,进一步提高性能。 在AscendHub下载镜像时需确认好版本,若使用旧版本镜像,需要手工下载源码编译生成新的backend后才能支持新特性。 版本特性 v2.2.0 支持从onnx文件读取模型输入输出信息, config中若无指定input,output,将会自动从文件中读取; 调整动态图在多实例下使用多Session方式,提高并发吞吐(显存占用会增高); 支持动态batch场景小batch动态合并特性,配合多Session,提高吞吐; 补充调优方法论以及cnclip模型的最佳实践; 支持多模型特性,可支持同时拉起多个模型,提高显存利用率; 支持非0轴动态shape场景; 支持TensorFlow的pb文件。 立即下载

相关推荐

2007-2025年36家商业银行绿色信贷余额数据(2025年无缺失)

1、指标覆盖区间为2007年至2025年 2、数据取自各银行年度报告及社会责任报告 3、核心指标为绿色信贷余额 4、涉及银行包括:苏农银行、中国银行、紫金银行、杭州银行、华夏银行、邮储银行、青岛银行、兴业银行、苏州银行、农业银行、宁波银行、上海银行、江阴银行、招商银行、长沙银行、北京银行、无锡银行、民生银行、浙商银行、常熟银行、成都银行、工商银行、郑州银行、光大银行、南京银行、建设银行、浦发银行、贵阳银行、渝农商行、西安银行、交通银行、江苏银行、中信银行、张家港行、平安银行、青农商行

ZOJ 3811 zoj 3811 Untrusted Patrol牡丹江网络赛C题

去年的比赛题目,今年才搞懂AC了===|| 1 #include <cstdio> 2 #include <cstdlib> 3 #include <cstring> 4 #include <cctype> 5 #include <cmath> 6 #include <algor...

aocang4831的博客 158

2019-2026年 中国分行业进出口数据 xlsx

数据整理中国各细分行业海关进出口数据,包括中国对各个国家进口、出口数据,中国各个行业进出口数据,各国贸易数据是了解每个国家市场的最基础和重要信息。数据非面板数据,时间、行业分类有缺失。 标 日期 采购商国家/地区 供应商国家/地区 采购商 供应商 采购商地址 供应商地址 通知人 通知人地址 制造商 原产国 目的国 起运港 目的港 HS编码 产品描述 唛头 数量 数量单位 重量 金额($) 单号 集装箱号 品牌

ZOJ3811 Untrusted Patrol (2014年牡丹江赛区网络赛C题)

1.题目描述:点击打开链接 2.解题思路:本题利用BFS+并查集解决。题意要求寻找输入的访问次序是否可行,而且所有结点都要访问到,因此,如果一开始整个图是不连通的,自然要输出No,连通性可以用并查集来判断。如果图连通,那么看L和K的关系,如果L 如果访问顺序是可行的,那么第一个仓库是谁并不重要,不妨就把收集到的第一个传感器信号所在的结点作为第一个访问的仓库,接下来我们可以利用BFS将所

Skyline 931

后端开发 Docker4.99.0 AppleSilicon 苹果芯片 Mac 安装包

本资源为 Docker Desktop 4.99.0 苹果芯片(Apple Silicon)专用安装包,原生适配 M 系列 Mac,可快速搭建本地容器开发环境,支持镜像拉取、容器编排、项目打包部署。适合后端开发、运维、全栈开发者,用于本地微服务、测试环境、项目容器化开发。

milvus-v2.6.25镜像文件

milvus-v2.6.25镜像文件

ZOJ-3811 Untrusted Patrol DFS 2014牡丹江网络赛C题

n个点,m条双向边,k个传感器。 首先判断l

聂小白的专栏 1615

医学信息影像AI临床采纳的责任边界研究:基于场景选点与流程嵌入的分步实施路径

内容概要:本文以“影像人工智能(CAD)的临床采纳与责任边界”为核心议题,指出当前影像AI的发展瓶颈已从技术准确性转向“谁负责、怎么用”的机制与治理问题。通过文献研究与政策文本分析,文章系统梳理了CAD的应用场景与效果、临床采纳障碍及责任边界划分三大问题,揭示出“假阳性导致医生信任下降、责任归属不清、采购与使用脱节”三重瓶颈相互强化的闭环结构,并提出“场景选点—试用验证—责任规则先行—流程嵌入”的分步递进式建设路径,强调需通过机制闭环实现技术真正落地。; 适合人群:从事医疗信息化管理、医学人工智能研究、医院运营管理及相关政策制定的专业人员,以及医学信息学、卫生管理专业的高年级本科生与研究生。; 使用场景及目标:①用于医疗机构评估影像AI引入的可行性与实施路径,避免资源错配;②为政策制定者提供优化考核机制与责任界定的理论依据;③帮助AI厂商理解临床真实需求,提升产品与流程的契合度;④作为学术研究框架,支持对技术采纳与治理机制的深入探讨。; 阅读建议:本文构建了“现状—机制—治理”三层分析框架,建议读者结合自身角色聚焦不同章节:管理者重点关注第五章路径设计,研究者关注第三章文献述评与第六章研究展望,实施者关注第四章瓶颈分析与实施保障。阅读时应特别注意概念的操作化定义与证据等级区分,避免将理论推导误作实证结论,并在应用时结合本地实际进行裁剪与验证。

ZOJ 3811 —— Untrusted Patrol(2014牡丹江网络赛C题)

题目:Untrusted Patrol

hongrock的专栏 659

推动企业技术需求与高校科研成果对接,需要哪些关键支撑要素?.docx

推动企业技术需求与高校科研成果对接,需要哪些关键支撑要素?

A股分钟行情数据,涵盖股票、ETF、可转债及指数 每条记录包含交易日期、具体时间、证券代码、证券简称、开盘价、最高价、最低价、收盘价、成交量、成交额 数据为日内分钟频率,逐分钟记录价格变动与成交信息

A股分钟行情数据,涵盖股票、ETF、可转债及指数。每条记录包含交易日期、具体时间、证券代码、证券简称、开盘价、最高价、最低价、收盘价、成交量、成交额。数据为日内分钟频率,逐分钟记录价格变动与成交信息,按交易日分割存储,历史分钟K线保留完整。 数据源:CMES金融数据库

ZOJ 3811 / 2014 牡丹江赛区网络赛 C. Untrusted Patrol

题目: LINK 给定一个无向图,n个点,  m条边,k个特殊点(有传感器),只有当第一次到达特殊点的时候才会发出信号,给出发出信号的序列,问是否存在这样的路径使得每个点至少遍历一次,而且特殊点第一次到达的顺序和和题目输入一样。  (1 先特判 如果询问时输入的L 先把第一个特殊点入队,遍历所有的可以到达的点(中途不经过其他特殊点),标记为可以到达。 之后把第一个点标记为普通点。

Napoleon 1243

一个免费的激光打标软件的配套硬件说明

激光打标软件配套硬件说明

zoj3811 Untrusted Patrol (dfs)

2014牡丹江网络赛C题 (第三水的题 The 2014 ACM-ICPC Asia Mudanjiang Regional First Round http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3811 Untrusted PatrolTime Limit: 3 Seconds Memo...

weixin_34248705的博客 147

高校技术转移办公室人员如何利用知识图谱技术提升科技成果评价的科学性与高效性?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人在推动内部技术转化时,如何确保服务流程的合规与可控?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

ZOJ 3811 / 2014 牡丹江赛区网络赛 C. Untrusted Patrol bfs/dfs/并查集

Untrusted PatrolTime Limit: 3 Seconds Memory Limit: 65536 KB Edward is a rich man. He owns a large factory for health drink productio...

weixin_33958585的博客 140

LEfSe分析避坑指南:如何解决R语言中的常见错误与优化结果可视化

本文提供了R语言中进行LEfSe(线性判别分析)微生物组差异分析的全流程避坑指南。详细解析了从数据格式准备、参数调优(如显著性水平与LDA阈值)、结果可靠性验证到使用ggplot2进行高级可视化的实战技巧,帮助用户规避常见错误,获得更稳健、美观的分析结果。

weixin_29098391的博客 361
上一篇: 简易计算器(栈的应用)
下一篇: hdu 1010 Tempter of the Bone (dfs+剪枝)
imfuture
博客等级 码龄13年 1粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值