封面

T1:假期计划

题目描述

小熊的地图上有 n 个点,其中编号为 1 的是它的家、编号为2,3,…,n 的都是景点。部分点对之间有双向直达的公交线路。如果点 x 与 z1、z1 与 z2、……、z(k−1) 与 z(k)、z(k) 与 y 之间均有直达的线路,那么我们称 x 与 y 之间的行程可转车 k 次通达;特别地,如果点 x 与 y 之间有直达的线路,则称可转车 0 次通达。

很快就要放假了,小熊计划从家出发去 4 个不同的景点游玩,完成 5 段行程后回家:家→ 景点 A→ 景点 B → 景点 C → 景点 D → 家,且每段行程最多转车 k 次。转车时经过的点没有任何限制,既可以是家、也可以是景点,还可以重复经过相同的点。例如,在景点 A → 景点 B 的这段行程中,转车时经过的点可以是家、也可以是景点 C,还可以是 景点 D→ 家 这段行程转车时经过的点。

假设每个景点都有一个分数,请帮小熊规划一个行程,使得小熊访问的四个不同景点的分数之和最大。

需要注意的是:这四个景点并不是给定的,而是自己选取的。

输入格式

第一行包含三个正整数 n, m, k分别表示地图上点的个数、双向直达的点对数量、每段行程最多的转车次数。

第二行包含n−1 个正整数,分别表示编号为2,3,…,n 的景点的分数。

接下来 m 行,每行包含两个正整数 x,y表示点 x 和 y 之间有道路直接相连,保证 1≤x,y≤n,且没有重边,自环。

输出格式

输出一个正整数,表示小熊经过的 4 个不同景点的分数之和的最大值。

输入输出样例

输入样例#1

8 8 1

9 7 1 8 2 3 6

1 2

2 3

3 4

4 5

5 6

6 7

7 8

8 1

输出样例 #1

27

输入样例#2

7 9 0

1 1 1 2 3 4

1 2

2 3

3 4

1 5

1 6

1 7

5 4

6 4

7 4

输出样例#2

7

说明/提示

【样例解释 #1】

当计划的行程为 1→2→3→5→7→1 时,4 个景点的分数之和为 9 + 7 + 8 + 3 = 27,可以证明其为最大值。

附:行程 1→3→5→7→8→1 的景点分数之和为 24、行程 1→3→2→8→7→1 的景点分数之和为 25。它们都符合要求,但分数之和不是最大的。

行程1→2→3→5→8→1 的景点分数之和为 30,但其中5→8 至少需要转车 2 次,因此不符合最多转车 k=1 次的要求。

行程1→2→3→2→3→1 的景点分数之和为 32,但游玩的并非 4 个不同的景点,因此也不符合要求。

【样例 #3】

见附件中的 holiday/holiday3.in 与 holiday/holiday3.ans

【数据范围】

对于所有数据,保证5≤n≤2500,1≤m≤10000,0≤k≤100,所有景点的分数1≤si≤100000000。保证至少存在一组符合要求的行程

测试点编号

T2:策略游戏

题目描述

小 L 和小 Q 在玩一个策略游戏。

有一个长度为 n 的数组 A 和一个长度为 m 的数组 B,在此基础上定义一个大小为n×m 的矩阵 C,满足Cij=Ai×Bj。所有下标均从 1 开始。

游戏一共会进行 q 轮,在每一轮游戏中,会事先给出 4 个参数 l1,r1,l2,r2,满足1≤l1≤r1≤n、1≤l2≤r2≤m。

游戏中,小 L 先选择一个 l1∼r1 之间的下标 x,然后小 Q 选择一个l2∼r2 之间的下标 y。定义这一轮游戏中二人的得分是Cxy。

小 L 的目标是使得这个得分尽可能大,小 Q 的目标是使得这个得分尽可能小。同时两人都是足够聪明的玩家,每次都会采用最优的策略。

请问:按照二人的最优策略,每轮游戏的得分分别是多少?

输入格式

第一行输入三个正整数n,m,q,分别表示数组A,数组B的长度和游戏轮数。

第二行:n 个整数,表示Ai,分别表示数组 A 的元素。

第三行:m 个整数,表示Bi,分别表示数组 B 的元素。

接下来 q 行,每行四个正整数,表示这一次游戏的l1,r1,l2,r2。

输出格式

输出共 q 行,每行一个整数,分别表示每一轮游戏中,小 L 和小 Q 在最优策略下的得分。

输入输出样例

输入样例#1

3 2 2

0 1 -2

-3 4

1 3 1 2

2 3 2 2

输出样例#1

0

4

输入样例 #2

6 4 5

3 -1 -2 1 2 0

1 2 -1 -3

1 6 1 4

1 5 1 4

1 4 1 2

2 6 3 4

2 5 2 3

输出样例#2

0

-2

3

2

-1

说明/提示

【样例解释 #1】

这组数据中,矩阵 C 如下:

在第一轮游戏中,无论小 L 选取的是 x=2 还是 x=3,小 Q 都有办法选择某个 y 使得最终的得分为负数。因此小 L 选择 x=1 是最优的,因为这样得分一定为 0。

而在第二轮游戏中,由于小 L 可以选x=2,小 Q 只能选y=2,如此得分为 4。

【样例 #3】

见附件中的 game/game3.in 与 game/game3.ans

【样例 #4】

见附件中的 game/game4.in 与 game/game4.ans

【数据范围】

对于所有数据,1≤n,m,q≤100000,−1000000000≤Ai,Bi≤1000000000。对于每轮游戏而言,1≤l1≤r1≤n,1≤l2≤r2≤m。

其中,特殊性质 1 为:保证Ai,Bi>0。
特殊性质 2 为:保证对于每轮游戏而言,要么l1=r1,要么l2=r2。

T3:星战

题目描述

在这一轮的星际战争中,我方在宇宙中建立了 n 个据点,以 m 个单向虫洞连接。我们把终点为据点 u 的所有虫洞归为据点 u 的虫洞。

战火纷飞之中这些虫洞很难长久存在,敌人的打击随时可能到来。这些打击中的有效打击可以分为两类:

  1. 敌人会摧毁某个虫洞,这会使它连接的两个据点无法再通过这个虫洞直接到达,但这样的打击无法摧毁它连接的两个据点。

  2. 敌人会摧毁某个据点,由于虫洞的主要技术集中在出口处,这会导致该据点的所有还未被摧毁的虫洞被一同摧毁。而从这个据点出发的虫洞则不会摧毁。

注意:摧毁只会导致虫洞不可用,而不会消除它的存在。

为了抗击敌人并维护各部队和各据点之间的联系,我方发展出了两种特种部队负责修复虫洞:

  • A 型特种部队则可以将某个特定的虫洞修复。

  • B 型特种部队可以将某据点的所有损坏的虫洞修复。

考虑到敌人打击的特点,我方并未在据点上储备过多的战略物资。因此只要这个据点的某一条虫洞被修复,处于可用状态,那么这个据点也是可用的。

我方掌握了一种苛刻的空间特性,利用这一特性我方战舰可以沿着虫洞瞬移到敌方阵营,实现精确打击。

为了把握发动反攻的最佳时机,指挥部必须关注战场上的所有变化,为了寻找一个能够进行反攻的时刻。总指挥认为:

  • 如果从我方的任何据点出发,在选择了合适的路线的前提下,可以进行无限次的虫洞穿梭(可以多次经过同一据点或同一虫洞),那么这个据点就可以实现反击。

  • 为了使虫洞穿梭的过程连续,尽量减少战舰在据点切换虫洞时的质能损耗,当且仅当只有一个从该据点出发的虫洞可用时,这个据点可以实现连续穿梭。

  • 如果我方所有据点都可以实现反击,也都可以实现连续穿梭,那么这个时刻就是一个绝佳的反攻时刻。

总司令为你下达命令,要求你根据战场上实时反馈的信息,迅速告诉他当前的时刻是否能够进行一次反攻。

输入格式

输入的第一行包含两个正整数n,m。

接下来 m 行每行两个数 u,v,表示一个从据点 u 出发到据点 v 的虫洞。保证 u != v (即u不等于v),保证不会有两条相同的虫洞。初始时所有的虫洞和据点都是完好的。

接下来一行一个正整数 q 表示询问个数。

接下来 q 行每行表示一次询问或操作。首先读入一个正整数 t 表示指令类型:

  • 若 t=1,接下来两个整数 u,v 表示敌人摧毁了从据点 u 出发到据点 v 的虫洞。保证该虫洞存在且未被摧毁。

  • 若 t=2,接下来一个整数 u 表示敌人摧毁了据点 u。如果该据点的虫洞已全部被摧毁,那么这次袭击不会有任何效果。

  • 若 t = 3,接下来两个整数 u,v 表示我方修复了从据点 u 出发到据点 v 的虫洞。保证该虫洞存在且被摧毁。

  • 若 t = 4,接下来一个整数 u 表示我方修复了据点 u。如果该据点没有被摧毁的虫洞,那么这次修复不会有任何效果。

每次指令执行之后,你需要判断能否进行一次反攻。如果能则输出 YES ,否则输出 NO

输出格式

输出一共 q 行。对于每个指令,输出这个指令执行后能否进行反攻。

输入输出样例

输入样例 #1

3 6

2 3

2 1

1 2

1 3

3 1

3 2

11

1 3 2

1 2 3

1 1 3

1 1 2

3 1 3

3 3 2

2 3

1 3 1

3 1 3

4 2

1 3 2

输出样例 #1

NO

NO

YES

NO

YES

NO

NO

NO

YES

NO

NO

说明/提示

【样例解释 #1】

虫洞状态可以参考下面的图片, 图中的边表示存在且未被摧毁的虫洞:

【样例 #2】

见附件中的 galaxy/galaxy2.in 与 galaxy/galaxy2.ans

【样例 #3】

见附件中的 galaxy/galaxy3.in 与 galaxy/galaxy3.ans

【样例 #4】

见附件中的 galaxy/galaxy4.in 与 galaxy/galaxy4.ans

【数据范围】

对于所有数据保证:1≤n≤500000,1≤m≤500000,1≤q≤500000。

T4:数据传输

题目描述

小 C 正在设计计算机网络中的路由系统。

测试用的网络总共有 n 台主机,依次编号为1∼n。这 n台主机之间由 n−1 根网线连接,第 i 条网线连接个主机 ai 和 bi。保证任意两台主机可以通过有限根网线直接或者间接地相连。受制于信息发送的功率,主机 a 能够直接将信息传输给主机 b 当且仅当两个主机在可以通过不超过 k 根网线直接或者间接的相连。

在计算机网络中,数据的传输往往需要通过若干次转发。假定小 C 需要将数据从主机 a 传输到主机 b(a != b),则其会选择出若干台用于传输的主机c1=a,c2,…,c(m−1),c(m)=b,并按照如下规则转发:对于所有的 1≤i<m,主机 ci 将信息直接发送给 ci+1。

每台主机处理信息都需要一定的时间,第 i 台主机处理信息需要 vi 单位的时间。数据在网络中的传输非常迅速,因此传输的时间可以忽略不计。据此,上述传输过程花费的时间为:

现在总共有 q 次数据发送请求,第 i 次请求会从主机 si 发送数据到主机 ti。小 C 想要知道,对于每一次请求至少需要花费多少单位时间才能完成传输。

输入格式

输入的第一行包含三个正整数 n,Q,k,分别表示网络主机个数,请求个数,传输参数。数据保证 1≤n≤200000,1≤Q≤200000,1≤k≤3。

输入的第二行包含 n 个正整数,第 i 个正整数表示 vi,保证 1≤vi≤1000000000。

接下来 n−1 行,第 i 行包含两个正整数 ai,bi,表示一条连接主机 ai,bi 的网线。保证 1≤ai,bi≤n。

接下来 Q 行,第 i 行包含两个正整数 si,ti,表示一次从主机 si 发送数据到主机 ti 的请求。保证1 ≤ si,ti ≤ n (si != ti)。

输出格式

Q 行,每行一个正整数,表示第 i 次请求在传输的时候至少需要花费多少单位的时间。

输入输出样例

输入 #1

7 3 3

1 2 3 4 5 6 7

1 2

1 3

2 4

2 5

3 6

3 7

4 7

5 6

1 2

输出 #1

12

12

3

说明/提示

【样例解释 #1】

对于第一组请求,由于主机 4,7 之间需要至少 4 根网线才能连接,因此数据无法在两台主机之间直接传输,其至少需要一次转发;我们让其在主机 1 进行一次转发,不难发现主机 1 和主机 4,7 之间都只需要两根网线即可连接,且主机 1 的数据处理时间仅为 1,为所有主机中最小,因此最少传输的时间为 4 + 1 + 7 = 12。

对于第三组请求,由于主机 1,2 之间只需要 1 根网线就能连接,因此数据直接传输就是最优解,最少传输的时间为1+2=3。

【样例 #2】

见附件中的 transmit/transmit2.in 与 transmit/transmit2.ans

该样例满足测试点 2 的限制。

【样例 #3】

见附件中的 transmit/transmit3.in 与 transmit/transmit3.ans

该样例满足测试点 3 的限制。

【样例 #4】

见附件中的 transmit/transmit4.in 与 transmit/transmit4.ans

该样例满足测试点 20 的限制。

【数据范围】

对于所有的测试数据,满足 1≤n≤200000,1≤Q≤200000,1≤k≤3,1≤ai,bi≤n,1≤si,ti≤n,si != ti。

特殊性质:保证 ai=i+1,而 bi 则从 1,2,…,i 中等概率选取。

写在最后:

应该下周题解能写好,如果大家有想法欢迎留言哦!

这回题出的几乎全是树和图,T1也不想往年一样搞一道签到题,估计平均分也高不了太多吧。

打字不易,莫忘三连!~~~

2022csp-S2提高组复赛真题相关推荐

  1. NOIP2009提高组复赛原题题解——Proking

    要开始准备GDKOI了,这应该是第一场正式赛吧,今天是在家里做的,状态不好,做题没有紧迫感,T2竟然考试时没有A掉,T4也没有多想想,T3更是一道很水的spfa(关键是得动动脑子啊!感觉自己智商有问题 ...

  2. NOIP 2018提高组复赛C/C++试题及答案详解

    NOIP 2018提高组历年真题 CCF NOIP2018 初赛提高组 C++语言试题 第 1 页,共9 页 第二十四届全国青少年信息学奥林匹克联赛初赛 提高组 C++语言试题 竞赛时间:2018 年 ...

  3. NOIP2013 提高组复赛解题报告

    NOIP2013 提高组复赛 day1 day\;1 1002. 火柴排队 贪心+数据结构/归并排序 这个"相邻交换"让我联想到了NOIP2012_day1_task2_game那 ...

  4. 凡人升天传7——NOIP2010 提高组复赛题解

    本蒟蒻在考试时最后一道直接报零*__*,悲痛欲绝,因此在这里著下本题解. 可恶的西西弗 虽然题目做的很垃圾,但在写题解中途不得不感叹除了最后一道,其他真是好水题呀!!! --------------- ...

  5. 2018年 第09届 蓝桥杯 Java B组 决赛真题详解及小结

    蓝桥杯 Java B组 省赛决赛 真题详解及小结汇总[2013年(第4届)~2020年(第11届)] 第11届 蓝桥杯-第1.2次模拟(软件类)真题-(2020年3月.4月)-官方讲解视频 说明:大部 ...

  6. NOIP2008提高组(前三题) -SilverN

    此处为前三题,第四题将单独发布 火柴棒等式 题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0 ...

  7. NOIP普及组历届真题(1997~2018)

    供大家刷题. 先上快捷的查看方式:NOIP普及组历届真题 第二页 来自洛谷--一个很好的刷题网站 剩下是具体题目和难度以及是第几年的题. P1002 过河卒 NOIp普及组 2002 普及- P100 ...

  8. NOIP2010 提高组 复赛 translate 机器翻译

    NOIP2010 提高组 复赛 translate 机器翻译 1.读题,很快弄明题意,单词不在内存中就查字典,统计查字典次数. 2.内存采用队列方式.统计进队列次数,即为查询次数. 3.程序很快编好, ...

  9. NOIP 提高组 复赛 历年 试题

    NOIP 提高组  复赛  历年 试题 NOIP 2017 提高组 复赛  试题 https://wenku.baidu.com/view/70de9e29854769eae009581b6bd97f ...

最新文章

  1. HDLBits 系列(38)值得一看的状态机设计题目
  2. 关于权限系统的一些思考
  3. python---文件处理
  4. Python 面向对象(OOP)基本概念
  5. bzoj1833: [ZJOI2010]count 数字计数(数位dp)
  6. 企业全面运营管理沙盘模拟心得_企业经营沙盘模拟心得体会
  7. 电脑计算机睡眠和休眠模式区别,Windows系统的睡眠模式和休眠模式以及待机模式的区别知识科普...
  8. 网上商城-java基础练习项目-仿照雷蛇商城
  9. Ubuntu 8.04中文智能拼音输入法
  10. js设置北京时区_JavaScript 实现北京时间转其他时区时间,根据系统对对应时区转换...
  11. 代理模式——保护代理(三)
  12. 本周(12.23-12.29)半价电子书
  13. HCS12X微控制器的外部总线接口介绍
  14. 斐波那契数列_菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。给出一个正整数a,要求菲波那契数列中第a个数对1000取模的结果是多少。
  15. (一)Reactor模式详解
  16. sqlServer sa账号被锁定
  17. 计算机无法识别相机,电脑无法读取相机内存卡怎么办_相机内存卡插入电脑读不出来解决教程...
  18. 图注意力网络——Graph attention networks (GAT)
  19. 基于微信小程序的拍卖系统源码
  20. 作业盒子生端AndrOid,作业盒子小学下载安装学生版

热门文章

  1. 计算员工工龄取巧小办法
  2. 办公室常用赞美英语经典句子
  3. 前端知识总结之linux
  4. Sprin框架的学习(课时七)SpringAop的学习
  5. R语言学习_回归预测
  6. 迈思德物联网网关极简宣传页
  7. 谁是未来企业安全的最大“绊脚石”?
  8. 服务器硬盘整体ghost,GHOST整个硬盘备份和恢复图文教程
  9. 消防应急照明灯具安装方式
  10. python自动排班表