NOIP2023年提高组复赛试题(Day1+Day2).docx
《NOIP2023年提高组复赛试题(Day1+Day2).docx》由会员分享,可在线阅读,更多相关《NOIP2023年提高组复赛试题(Day1+Day2).docx(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、NOIP2023 提 高 组 复 赛 试 题(Day1+Day2)第22 届全国青少年信息学奥林匹克联赛CCF-NO IP-2 016提高组复赛 第一试竞赛时间: 2023 年11 月19日8:30 12:00题目名称玩具谜题每天爱跑步换教室题目类型传统型传统型传统型名目toyrunningclassroom可执行文件名toyrunningclassroom输入文件名toy.inrunning.inclassroom.in输出文件名toy.outrunning.outclassroom.out每个测试点时限1.0 秒2.0 秒1.0 秒内存限制512 MB512 MB512 MB测试点数目20
2、2025每个测试点分值554提交源程序文件名对于C+ 语言对于C 语言对于Pascal 语言编译选项toy.cpp toy.c toy.pasrunning.cpp running.c running.pasclassroom.cpp classroom.c classroom.pas对于C+ 对于C对于Pascal语言语言语言-lm-lm-lm-lm-lm-lm留意事项:1. 文件名程序名和输入输出文件名必需使用英文小写。2. 除非特别说明,结果比较方式均为无视行末空格及文末回车的全文比较。3. C/C+中函数 main 的返回值类型必需是 int ,程序正常完毕时的返回值必需 是0。4.
3、全国统一评测时承受的机器配置为: CPU AMD Athlon(tm) II x2 240 processor,2.8GHz,内存4G,上述时限以此配置为准。5. 只供给Linux 格式附加样例文件。6. 评测在NOI Linux 下进展。7. 编译时不翻开任何优化选项。第一试玩具迷题toy第22 届全国青少年信息学奥林匹克联赛提高组复赛玩具谜题toy)【问题描述】小南有一套得意的玩具小人,它们各有不同的职业。有一天,这些玩具小人把小南的眼镜藏了起来。小南觉察玩具小人们围成了一个圈, 它们有的面朝圈内,有的面朝圈外。如以以下图:这时singer告知小南一个谜题:“眼镜藏在我左数第3 个玩具小人
4、的右数第1 个玩具小人的左数第2 个玩具小人那里。”小南觉察,这个谜题中玩具小人的朝向格外关键,由于朝内和朝外的玩具小人的左右方向是相反的:面朝圈内的玩具小人,它的左边是顺时针方向,右边是逆时针方 向;而面对圈外的玩具小人,它的左边是逆时针方向,右边是顺时针方向。小南一边困难地识别着玩具小人,一边数着:“singer朝内,左数第3 个是archer。“archer朝外,右数第1 个是thinker。“thinker朝外,左数第2 个是writer。“所以眼镜藏在writer这里!”虽然成功找回了眼镜,但小南并没有放心。假设下次有更多的玩具小人藏他的眼镜,或是谜题的长度更长,他可能就无法找到眼镜
5、了。所以小南期望你写程序帮他解决类似的谜题。这样的谜题具体可以描述为:有n 个玩具小人围成一圈, 己知它们的职业和朝向 。现在第1 个玩具小人告知小南一个包含m 条指令的谜题,其中第 i 条指令形如“左数/右数第si 个玩具小人”。你需要输出依次数完这些指令后,到达的玩具小人的职业。第 2 页页共 12【输入格式】从文件toy.in 中读入数据。输入的第一行包含两个正整数n,m ,表示玩具小人的个数和指令的条数。接下来n 行,每行包含一个整数和一个字符串,以 逆时针为挨次给出每个玩具小人的朝向和职业。其中0 表示朝向圈内,1 表示朝向圈外。保证不会消灭其他的数。字符串长度不超过10 且仅由小写
6、字母构成,字符串不为空,并且字符串两两不同。整数和字符串之间用一个空格隔开。接下来m 行,其中第i 行包含两个整数ai, si ,表示第i 条指令。假设ai = 0 ,表示向左数si 个人;假设ai = 1 ,表示向右数si 个人。保证ai 不会消灭其他的数,1 si n。【输出格式】输出到文件toy.out 中。输出一个字符串,表示从第一个读入的小人开头,依次数完m 条指令后到达的小人的职业。【样例 1 输入】7 30 singer0 reader0 mengbier1 thinker1 archer0 writer1 mogician0 31 10 2【样例 1 输出】writer【样例
7、1 说明】这组数据就是【题目描述】中提到的例子。【样例2输入】10 101 c0 r0 p1 d1 e1 m1 t1 y1 u0 v1 71 11 40 50 30 11 61 20 80 4【样例2输出】y【子任务】子任务会给出局部测试数据的特点 。假设你在解决题目中遇到了困难,可以尝试只解决一局部测试数据。每个测试点的数据规模及特点如下表:测试点1234567891011121314151617181920nm全朝内全左数s = 1i职业长度为1= 20= 103= 105= 105其中一些简写的列意义如下:l 全朝内:假设为“”, 表示该测试点保证全部的玩具小人都朝向圈内;l 全左数:假
8、设为“”,表示该测试点保证全部的指令都向左数,即对任意的1 i m,ai = 0 ;l si = 1 :假设为“”,表示该测试点保证全部的指令都只数 1 个,即对任意的 1 i m,si = 1 ;l 职业长度为 1:假设为“”,表示该测试点保证全部玩具小人的职业确定是一个长度为1 的字符串。第一试每天爱跑步running第22 届全国青少年信息学奥林匹克联赛提高组复赛每天爱跑步running)【问题描述】小C 同学认为跑步格外好玩,于是打算制作一款叫做每天爱跑步的玩耍 。每天爱跑步是一个养成类玩耍,需要玩家每天按时上线,完成打卡任务。这个玩耍的地图可以看作一棵包含n 个结点和n 1 条边的树
9、,每条边连接两个结点,且任意两个结点存在一条路径相互可达。树上结点编号为从1 到n 的连续正整数。第 6 页页共 12i现在有m 个玩家,第i 个玩家的起点为S ,终点为Ti。每天打卡任务开头时,所 有玩家在第 0 秒同时从自己的起点动身,以每秒跑一条边的速度,不连续地沿着 最短 路径向着自己的终点跑去,跑到终点后该玩家就算完成了打卡任务。由于地图是一棵树,所以每个人的路径是唯一的小C 想知道玩耍的活泼度,所以在每个结点上都放置了一个观看员。在结点j 的观看员会选择在第Wj秒观看玩家,一个玩家能被这个观看员观看到当且仅当该玩家在第 Wj 秒也正好到达了结点j 。小C 想知道每个观看员会观看到多
10、少人?留意:我们认为一个玩家到达自己的终点后该玩家就会完毕玩耍, 他不能等待一段时间后再被观看员观看到。即对于把结点 j 作为终点的玩家:假设他在第 Wj秒前到达终点,则在结点j 的观看员不能观看到该玩家;假设他正好在第Wjj 的观看员可以观看到这个玩家。秒到达终点,则在结 点【输入格式】从文件running.in 中读入数据。第一行有两个整数n 和m 。其中n 代表树的结点数量,同时也是观看员的数量, m 代表玩家的数量。接下来n 1 行每行两个整数u 和v ,表示结点u 到结点v 有一条边。接下来一行n 个整数,其中第j 个整数为Wj,表示结点 j 消灭观看员的时间。接下来m 行,每行两个
11、整数Si 和T,表示一个玩家的起点和终点。对于全部的数据,保证1 S , Ti, 0 W n 。ii nj【输出格式】输出到文件running.out 中。输出1 行n 个整数,第j 个整数表示结点j 的观看员可以观看到多少人。【样例 1 输入】6 32 3第一试每天爱跑步running第22 届全国青少年信息学奥林匹克联赛提高组复赛1 21 44 54 60 2 5 1 2 31 51 32 6【样例 1 输出】2 0 0 1 1 1第7 页共12 页【样例 1 说明】对于1 号点,W1= 0 ,故只有起点为1 号点的玩家才会被观看到,所以玩家1 和玩家2 被观看到,共2 人被观看到。对于
12、2 号点,没有玩家在第2 秒时在此结点,共0 人被观看到。对于 3 号点,没有玩家在第5 秒时在此结点,共0 人被观看到。对于 4 号点,玩家 1 被观看到,共 1 人被观看到。对于 5 号点,玩家 1 被观察到,共 1 人被观看到。对于 6 号点,玩家 3 被观察到,共 1 人被观看到。【样例 2 输入】5 31 22 32 41 50 1 0 3 03 11 45 5【样例 2 输出】1 2 1 0 1【子任务】每个测试点的数据规模及特点如下表所示 。提示:数据范围的个位上的数字可以帮助推断是哪一种数据类型。测试点编号1234567891011121314151617181920nm商定全
13、部人的起点等于自己的终点,= 991= 991即S = Tii= 992= 993= 992= 993W = 0j无= 99994= 99994树退化成一条链,其中1 与2 有边,2 与3 有边,. . ,n 1 与n 有边= 99995= 99995全部的 S = 1i= 99996= 99996全部的 T = 1i= 99997= 99997无= 299998= 299998【提示】假设你的程序需要用到较大的栈空间这通常意味着需要较深层数的递归,请务 必认真阅读选手名目下的文档 running/stack.pdf ,以了解在最终评测时栈空间的限制与在当前工作环境下调整栈空间限制的方法。第一
14、试第22 届全国青少年信息学奥林匹克联赛提高组复赛换教室classroom换教室classroom)【问题描述】对于刚上大学的牛牛来说,他面临的第一个问题是如何依据实际状况申请适宜的 课程。在可以选择的课程中,有 2n 节课程安排在 n 个时间段上。在第 i ( 1 i n )个时间段上,两节内容一样的课程同时在不同的地点进展,其中,牛牛预先被安排在教室ici 上课,而另一节课程在教室 d进展。在不提交任何申请的状况下,学生们需要按时间段的挨次依次完成全部的 n 节安排好的课程。假设学生想更换第 i 节课程的教室,则需要提出申请。假设申请通过,学i生就可以在第 i 个时间段去教室 d上课,否则
15、照旧在教室 di 上课。由于更换教 室的需求太多,申请不愿定能获得通过。通过计算,牛牛觉察申请i更换第 i 节课程的教室时,申请被通过的概率是一个己知的实数 k ,并且对于不同课程的申请,被通过的概率是相互独立的。学校规定,全部的申请只能在学期开头前一次性提交,并且每个人只能选择至多m节课程进展申请。这意味着牛牛必需一次性打算是否申请更换每节课的教室,而 不能依据某些课程的申请结果来打算其他课程是否申请;牛牛可以申请自己最期望更换教室的m 门课程,也可以不用完这m 个申请的时机,甚至可以一门课程都不申请。由于不同的课程可能会被安排在不同的教室进展,所以牛牛需要利用课间时间从一间教室赶到另一间教
16、室。牛牛所在的大学有 v 个教室,有 e 条道路。每条道路连接两间教室,并且是可以双向通行的。由于道路的长度和拥堵程度不同,通过不同的道路消耗的体力可能会有所不同。当第i 1 i n 1 节课完毕后,牛牛就会从这节课的教室动身,选择一条消耗体力最少的路径前往下一节课的教室。现在牛牛想知道,申请哪几门课程可以使他因在 教室间移动消耗的体力值的总和的期望值最小,请你帮他求出这个最小值。现在牛牛想知道,申请哪几门课程可以使他因在教室间移动消耗的体力值的总和 的期望值最小,请你帮他求出这个最小值。【输入格式】从文件classroom.in 中读入数据。第一行四个整数 n, m, v, e 。n 表示这
17、个学期内的时间段的数量; m 表示牛牛最多可以申请更换多少节课程的教室; v 表示牛牛学校里教室的数量; e 表示牛牛的学校里道路的数量。其次行n 个正整数,第i1 i n 个正整数表示ci,即第i 个时间段牛牛被安 排上课的教室;保证1 ci v 。第三行n 个正整数,第 i 1 i n 个正整数表示 di ,即第i 个时间段另一间上同样课程的教室;保证1 di v 。第9 页共12 页第一试第22 届全国青少年信息学奥林匹克联赛提高组复赛换教室classroom第四行n 个实数,第i1 i n 个实数表示k,即牛牛申请在第i 个时间段更 换i教室获得通过的概率。保证0 ki 1 。接下来e
18、 行,每行三个正整数aj,bj,wj,表示有一条双向道路连接教室aj , bj,通过这条道路需要消耗的体力值是wj ;保证1 aj, bj v ,1 wj 100 。保证1 n 2023 ,0 m 2023 ,1 v 300 ,0 e 90000 。保证通过学校里的道路,从任何一间教室动身,都能到达其他全部的教室。 保证 输入的实数最多包含3 位小数。【输出格式】输出到文件classroom.out 中。输出一行,包含一个实数,四舍五入准确到小数点恰后好 2 位,表示答案。你的输出必需和标准输出完全一样才算正确。测试数据保证四舍五入后的答案和准确答案的差确实定值不大于410-3 。假设你不知道
19、什么是浮点误差,这段话可以理解为:对于大多数的算法,你可以正常地使用 浮点数类型而不用对它进展特别的处理【样例 1 输入】3 2 3 32 1 21 2 10.8 0.2 0.51 2 51 3 32 3 1【样例 1 输出】2.80【样例 1 说明】全部可行的申请方案和期望收益如下表:第10 页共12 页第22 届全国青少年信息学奥林匹克联赛提高组复赛第一试换教室classroom无0.2820.20无0.8830.54无0.581、20.16410.64420.040无0.1681、30.40申请更换教室的 申请通过的时间时间段无消灭的概率消耗的体力值 消耗的体力值的期望8.01段无11.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NOIP2023 提高 复赛 试题 Day1 Day2
限制150内