Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >加工领奖(牛客数据)2019CSP-J普及组复赛(官方数据)

加工领奖(牛客数据)2019CSP-J普及组复赛(官方数据)

作者头像
韩旭051
发布于 2022-05-09 00:55:17
发布于 2022-05-09 00:55:17
26000
代码可运行
举报
文章被收录于专栏:刷题笔记刷题笔记
运行总次数:0
代码可运行

链接:https://ac.nowcoder.com/acm/contest/2340/D 来源:牛客网

已替换官方数据

        凯凯的工厂正在有条不紊地生产一种神奇的零件,神奇的零件的生产过程自然也很 神奇。工厂里有 𝑛 位工人,工人们从 1∼𝑛1 \sim 𝑛1∼n 编号。某些工人之间存在双向的零件传送带。保证每两名工人之间最多只存在一条传送带。         如果 𝑥 号工人想生产一个被加工到第 𝐿(𝐿>1)𝐿(𝐿 \gt 1)L(L>1) 阶段的零件,则所有与 𝑥 号工人 有传送带直接相连的工人,都需要生产一个被加工到第 𝐿 −1 阶段的零件(但 𝑥 号工 人自己无需生产第 𝐿 −1 阶段的零件)。         如果 𝑥 号工人想生产一个被加工到第 1 阶段的零件,则所有与 𝑥 号工人有传送 带直接相连的工人,都需要为 𝑥 号工人提供一个原材料。         轩轩是 1 号工人。现在给出 𝑞 张工单,第 𝑖 张工单表示编号为 𝑎𝑖𝑎_𝑖ai​ 的工人想生产 一个第 𝐿𝑖𝐿_𝑖Li​阶段的零件。轩轩想知道对于每张工单,他是否需要给别人提供原材料。他 知道聪明的你一定可以帮他计算出来!

输入描述:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
第一行两个正整数 𝑛,𝑚 和 𝑞,分别表示工人的数目、传送带的数目和工单的数目。
接下来 𝑚 行,每行两个正整数 𝑢 和 𝑣,表示编号为 𝑢 和 𝑣 的工人之间存在一条零 件传输带。保证 𝑢 ≠ 𝑣。
接下来 𝑞 行,每行两个正整数 𝑎 和 𝐿,表示编号为 𝑎 的工人想生产一个第 𝐿 阶段 的零件。

输出描述:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
共 𝑞 行,每行一个字符串 “Yes” 或者 “No”。如果按照第 𝑖 张工单生产,需要编号为 1 的轩轩提供原材料,则在第 𝑖 行输出 “Yes”;否则在第 𝑖 行输出 “No”。注意输出不含引号。

示例1

输入

复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
3 2 6 
1 2 
2 3 
1 1 
2 1 
3 1 
1 2 
2 2 
3 2

输出

复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
No 
Yes 
No 
Yes 
No 
Yes

说明

编号为 1 的工人想生产第 1 阶段的零件,需要编号为 2 的工人提供原材料。 

编号为 2 的工人想生产第 1 阶段的零件,需要编号为 1 和 3 的工人提供原材料。 

编号为 3 的工人想生产第 1 阶段的零件,需要编号为 2 的工人提供原材料。 

编号为 1 的工人想生产第 2 阶段的零件,需要编号为 2 的工人生产第 1 阶段的零件,需要编号为 1 和 3 的工人提供原材料。 

编号为 2 的工人想生产第 2 阶段的零件,需要编号为 1 和 3 的工人生产第 1 阶段 的零件,他/她们都需要编号为 2 的工人提供原材料。 

编号为 3 的工人想生产第 2 阶段的零件,需要编号为 2 的工人生产第 1 阶段的零 件,需要编号为 1 和 3 的工人提供原材料。 

示例2

输入

复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
5 5 5 
1 2 
2 3 
3 4 
4 5 
1 5 
1 1 
1 2 
1 3 
1 4 
1 5

输出

复制

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
No 
Yes 
No 
Yes 
Yes

说明

编号为 1 的工人想生产第 1 阶段的零件,需要编号为 2 和 5 的工人提供原材料。 

编号为 1 的工人想生产第 2 阶段的零件,需要编号为 2 和 5 的工人生产第 1 阶段 的零件,需要编号为 1,3,4 的工人提供原材料。 

编号为 1 的工人想生产第 3 阶段的零件,需要编号为 2 和 5 的工人生产第 2 阶段的零件,需要编号为 1,3,4 的工人生产第 1 阶段的零件,需要编号为 2,3,4,5 的工人提供原材料。 

编号为 1 的工人想生产第 4 阶段的零件,需要编号为 2 和 5 的工人生产第 3 阶段 的零件,需要编号为 1,3,4 的工人生产第 2 阶段的零件,需要编号为 2,3,4,5 的工人生产 第 1 阶段的零件,需要全部工人提供原材料。 

编号为 1 的工人想生产第 5 阶段的零件,需要编号为 2 和 5 的工人生产第 4 阶段 的零件,需要编号为 1,3,4 的工人生产第 3 阶段的零件,需要编号为 2,3,4,5 的工人生产第 2 阶段的零件,需要全部工人生产第 1 阶段的零件,需要全部工人提供原材料。 

备注:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
20 个测试点。 
1≤𝑢,𝑣,𝑎≤𝑛1 \leq 𝑢,𝑣,𝑎 \leq 𝑛1≤u,v,a≤n。 
测试点 141\sim 4141≤𝑛,𝑚≤10001 \leq 𝑛,𝑚 \leq 10001≤n,m≤1000,𝑞 = 3,𝐿 = 1。 
测试点 585\sim 8581≤𝑛,𝑚≤10001 \leq 𝑛,𝑚 \leq 10001≤n,m≤1000,𝑞 = 31≤𝐿≤101 \leq 𝐿 \leq 101L10。 
测试点 9129\sim 129121≤𝑛,𝑚,𝐿≤10001 \leq 𝑛,𝑚,𝐿 \leq 10001≤n,m,L10001≤𝑞≤1001 \leq 𝑞 \leq 1001≤q≤100。 
测试点 131613\sim 1613161≤𝑛,𝑚,𝐿≤10001 \leq 𝑛,𝑚,𝐿 \leq 10001≤n,m,L10001≤𝑞≤1051 \leq 𝑞 \leq 10^51≤q≤105。 
测试点 172017\sim 2017201≤𝑛,𝑚,𝑞≤1051 \leq 𝑛,𝑚,𝑞 \leq 1051≤n,m,q≤1051≤𝐿≤1091 \leq 𝐿 \leq 10^91L109

求奇数最短路径和偶数最短路径,查零件L是否差奇数或偶数个路径~官方的答案,我还没做出来

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
type
 FPX=record    //这个记录的名字就无需在意(小小的皮一下)
  x,y,t:longint;   //x是当前的点,y是奇偶判断,t是距离
 end;
var
 a:array[1..100000,0..200]of longint;   //数组模拟邻接表
 i,j,k,l,m,n,s,t,x,y,z,o:longint;
 b:array[1..100000,0..1]of longint;
 c:Array[1..100000,0..1]of boolean;
 d:array[1..2000000]of FPX;
procedure down;     //堆,向下调整
var
 i,j:longint;
 t:FPX;
begin
 i:=1;
 while i*2<=z do
  begin
   if d[i].t>d[i*2].t then j:=i*2
                  else j:=i;
   if(i*2+1<=z)and(d[j].t>d[i*2+1].t)then j:=i*2+1;
   if i=j then break
          else begin
                t:=d[i];
                d[i]:=d[j];
                d[j]:=t;
                i:=j;
               end;
  end;
end;
procedure up;       //堆,向上调整
var
 i:longint;
 t:FPX;
begin
 i:=z;
 while i>1 do
  begin
   if d[i div 2].t>d[i].t then begin
                            t:=d[i div 2];
                            d[i div 2]:=d[i];
                            d[i]:=t;
                           end
                      else break;
   i:=i div 2;
  end;
end;
begin
 readln(n,m,l);
 for i:=1 to m do    //建立邻接表
  begin
   readln(x,y);
   inc(a[x,0]);
   a[x,a[x,0]]:=y;
   inc(a[y,0]);
   a[y,a[y,0]]:=x;
  end;
 fillchar(b,sizeof(b),$7f);
 b[1,0]:=0; z:=1;
 d[z].t:=0; d[z].x:=1;
 while true do         //堆优化的Dij
  begin
   if z=0 then break;
   t:=d[1].t; x:=d[1].x;
   y:=d[1].y; d[1]:=d[z];
   dec(z); down;
   if c[x,y] then continue;
   c[x,y]:=true;
   for j:=1 to a[x,0] do
    begin
     o:=a[x,j];
     k:=(y+1)mod 2;
     if b[o,k]>t+1 then begin
                         b[o,k]:=t+1;
                         inc(z);
                         d[z].t:=t+1;
                         d[z].x:=o;
                         d[z].y:=k;
                         up;
                        end;
    end;
  end;
 for i:=1 to l do
  begin
   readln(x,y);
   t:=y mod 2;
   if y>=b[x,t] then writeln('Yes')
                else writeln('No');
  end;
end.
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-12-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
纪念品 2019CSP-J普及组复赛(官方数据)
链接:https://ac.nowcoder.com/acm/contest/2340/D
韩旭051
2020/06/23
5170
纪念品 2019CSP-J普及组复赛(官方数据)
1380 没有上司的舞会
1380 没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题解 题目描述 Description       Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。 输入描述 Input Description 第一行一个整数N。(1<=N<=6000) 接下来N行,第
HansBug
2018/04/10
5850
【题解】[CSP-J 2021] 插入排序
插入排序是一种非常常见且简单的排序算法。小 Z 是一名大一的新生,今天 H 老师刚刚在上课的时候讲了插入排序算法。
fishhh
2022/10/04
4890
【题解】[CSP-J 2021] 插入排序
公交换乘(牛客数据)2019CSP-J普及组复赛(官方数据)
链接:https://ac.nowcoder.com/acm/contest/3324/B
韩旭051
2020/06/23
6530
C++ 2019-2022 CSP_J 复赛试题横向维度分析(中)
上文讲解了2019~2022年第一题和第二题。第一题偏数学认知,算法较简单,第二题考查基本数据结构,如队列、栈……和基础算法,如排序、模拟……。
一枚大果壳
2023/09/26
3160
C++ 2019-2022 CSP_J 复赛试题横向维度分析(中)
数字游戏(牛客数据)2019CSP-J普及组复赛(官方数据)
链接:https://ac.nowcoder.com/acm/contest/3324/A 来源:牛客网
韩旭051
2020/06/23
6100
CSP-J第二轮试题-2020年-1.2题
P7071 [CSP-J2020] 优秀的拆分 P7072 [CSP-J2020] 直播获奖
用户2225445
2023/10/17
4700
CSP-J第二轮试题-2020年-1.2题
1711: [Usaco2007 Open]Dingin吃饭
1711: [Usaco2007 Open]Dingin吃饭 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 560  Solved: 290 [Submit][Status][Discuss] Description 农夫JOHN为牛们做了很好的食品,但是牛吃饭很挑食. 每一头牛只喜欢吃一些食品和饮料而别的一概不吃.虽然他不一定能把所有牛喂饱,他还是想让尽可能多的牛吃到他们喜欢的食品和饮料. 农夫JOHN做了F (1 <= F <= 100) 种食品并准备了D
HansBug
2018/04/10
5990
7-10 功夫传人 (25分) 图 / 深度优先搜索
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。
韩旭051
2021/02/02
4630
1593: [Usaco2008 Feb]Hotel 旅馆
1593: [Usaco2008 Feb]Hotel 旅馆 Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 391  Solved: 228 [Submit][Status][Discuss] Description 奶牛们最近的旅游计划,是到苏必利尔湖畔,享受那里的湖光山色,以及明媚的阳光。作为整个旅游的策划者和负责人,贝茜选择在湖边的一家著名的旅馆住宿。这个巨大的旅馆一共有N (1 <= N <= 50,000)间客房,它们在同一层楼中顺次一字排开,在任何
HansBug
2018/04/10
6200
2953: [Poi2002]商务旅行
2953: [Poi2002]商务旅行 Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 8  Solved: 8 [Submit][Status] Description 某首都城市的商人要经常到各城镇去做生意,他们按自己的路线去做,目的是为了更好的节约时间。 假设有N个城镇,首都编号为1,商人从首都出发,其他各城镇之间都有道路连接,任意两个城镇之间如果有直连道路,在他们之间行驶需要花费单位时间。该国公路网络发达,从首都出发能到达任意一个城镇,并且公路网络不会
HansBug
2018/04/10
8830
noip2014普及组复赛题解_noip2019普及组复赛试题
1.质因数分解
全栈程序员站长
2022/09/27
2760
YbtOJ 755「分治」变量观测
n,m \le 2\times10^5,1\le k\le3,1\le t,v\le10^6。
yzxoi
2022/09/19
3500
CSP-J第二轮试题-2021年-3题
参考: https://www.luogu.com.cn/problem/P7911 总结 本系列为CSP-J/S算法竞赛真题讲解,会按照年份分析每年的真题,并给出对应的答案。本文为2021年真题。
用户2225445
2023/10/17
3140
CSP-J第二轮试题-2021年-3题
CSP-J第二轮试题-2021年-1.2题
参考: https://www.luogu.com.cn/problem/P7909 总结 本系列为CSP-J/S算法竞赛真题讲解,会按照年份分析每年的真题,并给出对应的答案。本文为2021年真题。
用户2225445
2023/10/17
3980
CSP-J第二轮试题-2021年-1.2题
牛客小白月赛22 A~~J
A.链接:https://ac.nowcoder.com/acm/contest/4462/A 来源:牛客网
杨鹏伟
2020/09/11
3950
牛客集训派对day3
题目描述 有一张无限大的棋盘,你要将马从(0,0)移到(n,m)。 每一步中,如果马在(x,y),你可以将它移动到(x+1,y+2),(x+1,y-2),(x-1,y+2),(x-1,y-2),(x+2,y+1),(x+2,y-1),(x-2,y+1)或(x-2,y-1)。 你需要最小化移动步数。
xiaohejun
2020/02/18
3910
1574: [Usaco2009 Jan]地震损坏Damage
1574: [Usaco2009 Jan]地震损坏Damage Time Limit: 10 Sec  Memory Limit: 64 MB Submit: 425  Solved: 232 [Submit][Status][Discuss] Description 农夫John的农场遭受了一场地震.有一些牛棚遭到了损坏,但幸运地,所有牛棚间的路经都还能使用. FJ的农场有P(1 <= P <= 30,000)个牛棚,编号1..P. C(1 <= C <= 100,000)条双向路经联接这些牛棚,编号为1
HansBug
2018/04/10
1K0
C++ 2019-2022年 CSP_J 复赛试题横向维度分析(上)
本文对 2019、2020、2021、2022 4年来 CSP_J 复赛的笔试题目以横向维度进行比较,希望对参加复赛的学生有帮助。本文在讲解每一道题目时,仅提供题目的基本要求,更多细节,请自行查阅其它有关文档。
一枚大果壳
2023/09/24
7610
C++ 2019-2022年 CSP_J 复赛试题横向维度分析(上)
数据科学基础(七) 假设检验
📚 文档目录 随机事件及其概率 随机变量及其分布 期望和方差 大数定律与中心极限定理 数理统计的基本概念 参数估计 假设检验 多维 回归分析和方差分析 降维 7.1. 假设检验 7.1.1. 假设检验问题 参数估计:讨论如何根据样本得到总体分布所含参数的优良估计. 假设检验:讨论怎样在样本的基础上观察上面所得到的估计值与真实值之间在统计意义上相拟合,从而做出一个有较大把握的结论. 例子: 设菜厂生产一种灯管,其寿命X \sim \mathrm{N}(\mu, 40000), 从过去较长一段 时间的生产情况
Rikka
2022/01/19
1.5K0
数据科学基础(七) 假设检验
推荐阅读
相关推荐
纪念品 2019CSP-J普及组复赛(官方数据)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验