土豆网不错,就是限100m小了点

杂谈随笔
题目背景 2023 初中组市赛。 题目描述 土豆城是由 n 个路口和 m 条双向道路构成的,每条双向道路连接两个路口,任意两个路口可以相互到达。此外,城市里设有 k 个酒店,每个酒店位于一个路口。两个路口之间的距离定义为从一个路口到达另一个路口需要经过的最少道路数量。 小土豆计划在土豆城旅游 q 天,第 i 天小土豆打算在第 s i ​ 个路口结束当天的行程,因此想在距离第 s i ​ 个路口最近的地方选择一个酒店。然而,有一些酒店已经被预定满了,第 i 天小土豆无法预定第 b i ​ 个酒店。 输入格式 第一行四个整数 n,m,k,q; 接下来一行 k 个整数 h i ​ ,代表每个酒店所在路口; 接下来 m 行,每行两个整数 u i ​ ,v i ​ ,代表一条双向道路; 接下来 q 行,每行两个整数 s i ​ ,b i ​ ,其中如果 b i ​ =0 则小土豆可以预定任意一个酒店,否则小土豆在第 i 天不能预定第 b i ​ 个酒店。 输出格式 输出 q 行,每行一个整数,代表小土豆当天预定的酒店与行程结束位置之间的最短距离。 输入输出样例 输入 #1复制 4 5 2 2 2 4 1 2 2 3 3 4 4 1 1 3 2 1 2 0 输出 #1复制 2 0 说明/提示 样例解释 第一天可以选择 2 号酒店,第二天可以选择 1 号酒店。 数据范围与约定 对于 30% 的数据,n,m,k,q≤10。 对于 50% 的数据,n,m,k,q≤1000。 对于另外 20% 的数据,k≤10。 对于另外 20% 的数据,b i ​ =0。 对于所有数据,1≤n,m,q≤10 5 , 2≤k≤n, 1≤h i ​ ,u i ​ ,v i ​ ,s i ​ ≤n, 0≤b i ​ ≤k。 保证图连通。
08-24
P10537八连臭火 暂无评定 CSP-J组 文件IO 传统题 来源 TomAnderson 时间1000ms 内存制 256MB 输入文件名 smellyfire.in 输出文件名 smellyfire.out 题目背景 liaoji 喜欢打火,他要把八连火出成题。 题目描述 这天 liaoji 正在和他的新手朋友玩一个二维格斗游戏,这个游戏的场景有 𝑛 ( 𝑛 ≤ 5000 ) n(n≤5000) 行 𝑚 ( 𝑚 ≤ 20000 ) m(m≤20000) 列,每时每刻两人的坐标都是整数。由于土豆服务器的延迟,liaoji 视角中新手朋友的坐标总是在瞬移,但他已经预判出了每一时刻他的新手朋友会出现在什么位置。由于他自己对这个游戏的深刻理解,liaoji 可以瞬间出现在场景的任何位置。 现在 liaoji 有一个技能叫“八连火”,CD 为 18 18 秒。它可以在游戏时间的任意时刻任意坐标释放,释放后就会进入 18 18 秒的冷却。释放时,liaoji 会在同一个坐标释放八团“火”,从释放的这一秒开始,以及之后的 7 7 秒,每一秒都会有一团火进入攻击判定,如果它的周围和它曼哈顿距离小于等于 3 3 的地方有敌人出现,这团火就会瞬移到敌人身上造成一次攻击,否则这一团火就会消失,注意如果到了某一团火的判定时间游戏已经结束,那么这团火将无法造成攻击。 liaoji 将与新手朋友进行 3 3 局游戏,每局游戏 61 61 秒,游戏时刻是从第 1 1 秒到第 61 61 秒,已知新手朋友所有时刻的坐标,请问如何释放八连火使得攻击他的次数最多,输出这个最大的攻击次数。 对于 18 18 秒 CD 的解释:若你释放八连火的时刻分别是 𝑡 1 , 𝑡 2 , . . . 𝑡 𝑘 t 1 ​ ,t 2 ​ ,...t k ​ ,那么需要满足对于任意的 𝑖 ≠ 𝑗 i  =j, ∣ 𝑡 𝑖 − 𝑡 𝑗 ∣ ≥ 18 ∣t i ​ −t j ​ ∣≥18。 输入格式 一共三组数据。 每组数据的第一行输入三个正整数 𝑛 n, 𝑚 m, 𝑘 k。 𝑛 n, 𝑚 m 表示场景的大小, 𝑘 k 表示朋友移动的次数。 接下来 𝑘 k 行,第 𝑖 i 行三个正整数 𝑡 𝑖 t i ​ , 𝑥 𝑖 x i ​ , 𝑦 𝑖 y i ​ ( 1 ≤ 𝑡 𝑖 ≤ 61 , 1 ≤ 𝑥 𝑖 ≤ 𝑛 , 1 ≤ 𝑦 𝑖 ≤ 𝑚 ) (1≤t i ​ ≤61,1≤x i ​ ≤n,1≤y i ​ ≤m),表示新手朋友从 𝑡 𝑖 t i ​ 到 𝑡 𝑖 + 1 − 1 t i+1 ​ −1 时刻的坐标为 ( 𝑥 𝑖 , 𝑦 𝑖 ) (x i ​ ,y i ​ ),其中保证 𝑡 1 = 1 t 1 ​ =1, 𝑡 𝑖 < 𝑡 𝑖 + 1 t i ​ <t i+1 ​ ,并规定 𝑡 𝑘 + 1 = 62 t k+1 ​ =62。 输出格式 输出三行,每行三个整数表示每局最多的攻击次数。 input1 运行 复制 10 10 3 1 1 1 9 4 5 60 1 4 10 10 3 1 1 1 25 9 9 50 1 4 10 10 2 1 1 1 26 10 10 output1 复制 31 29 30 说明/提示 对于两个 ( 𝑥 1 , 𝑦 1 ) (x1,y1), ( 𝑥 2 , 𝑦 2 ) (x2,y2),他们的曼哈顿距离是 ∣ 𝑥 1 − 𝑥 2 ∣ + ∣ 𝑦 1 − 𝑦 2 ∣ ∣x1−x2∣+∣y1−y2∣。 样例中的空行是为了方便阅读,实际数据中没有空行。 测试 𝑛 ≤ n≤ 𝑚 ≤ m≤ 𝑘 ≤ k≤ 特殊制 1 ∼ 2 1∼2 10 10 10 10 10 10 无 3 ∼ 5 3∼5 100 100 100 100 61 61 保证朋友的坐标在一条水平直线上 6 ∼ 10 6∼10 5000 5000 20000 20000 61 61 无 使用c++
08-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值