AT_joisc2019_i.Bitaro, who Leaps through Time
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
比弗兰由 N 个城市组成,编号为 1 到 N。这些城市之间有 N−1 条道路连接。第 i 条道路(1≤i≤N−1)双向连接城市 i 和城市 i+1。在比弗兰,时间单位称为 Byou。每一天有 109 Byou。一天开始后的第 x Byou 时刻(0≤x<109)被称为时间 x。通过任意一条道路都需要 1 Byou,而第 i 条道路每天只能在时间 Li 到时间 Ri 之间通过。具体来说,要通过第 i 条道路,必须在时间 x 离开城市 i 或城市 i+1(满足 Li≤x≤Ri−1),并在时间 x+1 抵达另一个城市。
Bitaro 曾是比弗兰的普通居民,但由于常常迟到,他终于获得了穿越时间的能力。每使用一次该技能,可以回到 1 Byou 之前。他不能回到前一天:如果在时间 0 到 1 之间使用该技能,只会回到本日的时间 0。他只能在城市中使用该技能,使用时位置不会改变。
使用技能会让 Bitaro 感到疲惫。为了找到更少使用技能的旅行方法,他决定进行一系列共 Q 步的推演实验。在第 j 步实验(1≤j≤Q)中,他将进行以下操作之一:
-
修改第 Pj 条道路可以通行的时间区间。修改后,第 Pj 条道路只能在 Sj 到 Ej 之间通过。
-
假如他在一天中的时间 Bj 处于城市 Aj,计算他在当天时间 Dj 到达城市 Cj 时,最少需要用多少次技能。
他想知道全部推演实验的结果。
请编写程序,给出比弗兰的城市数量、道路信息和推演实验内容,计算推演实验的结果。
输入格式
从标准输入读取以下数据。输入中的所有值均为整数。
N Q
L1 R1
⋮
LN−1 RN−1
(第 1 条查询)
⋮
(第 Q 条查询)
其中每条查询由以空格分隔的 4 或 5 个整数组成。令 Tj 表示其第一个整数,则
-
若 Tj=1,该查询由 4 个整数 Tj,Pj,Sj,Ej 组成,表示在第 j 步将第 Pj 条路可通过时间区间改为 Sj 到 Ej。
-
若 Tj=2,该查询由 5 个整数 Tj,Aj,Bj,Cj,Dj 组成,表示在第 j 步假设当前处于城市 Aj、时间 Bj,要求在当天时间 Dj 到达城市 Cj 最少需要使用技能的次数。
输出格式
对于每一次 Tj=2 类型的查询,输出一行答案,依次表示最少使用技能次数。
输入输出样例
输入#1
3 3 0 5 0 5 2 1 3 3 3 1 2 0 1 2 1 3 3 3
输出#1
2 4
输入#2
5 5 3 5 4 8 2 6 5 10 2 5 3 1 10 2 2 6 5 6 1 3 4 6 2 3 3 4 3 2 4 5 1 5
输出#2
4 3 2 3
输入#3
7 7 112103440 659752416 86280800 902409187 104535475 965602300 198700180 945132880 137957976 501365807 257419446 565237610 2 4 646977260 7 915994878 2 1 221570340 6 606208433 2 7 948545948 4 604273995 2 7 247791098 5 944822313 2 7 250362511 2 50167280 2 3 364109400 4 555412865 2 7 33882587 7 186961394
输出#3
145611455 0 447180143 0 207252171 0 0
输入#4
7 7 535825574 705426142 964175291 996597835 481817391 649559926 4519006 410772613 74521477 274584126 256535565 899389890 1 6 511428966 602601933 1 1 69986642 201421232 2 3 636443425 4 625975977 1 6 235225515 405336399 2 3 866680458 3 701821857 1 6 180606048 900533151 1 6 612564160 720179605
输出#4
10467449 164858601
说明/提示
【样例解释 #1】
在第 1 步推演实验中,Bitaro 从城市 1 用 1 Byou 移动到城市 2,然后再用 1 Byou 从城市 2 移动到城市 3,最终在时间 5 抵达城市 3。因此,如果要在时间 3 抵达 3 号城市,需要在到达后使用技能两次。
在第 2 步实验中,第 2 条道路的可通过时间区间改为 0 到 1。
在第 3 步实验中,Bitaro从城市 1 用 1 Byou 到达城市 2(时间 4),再用技能 4 次回溯到时间 0,再用 1 Byou移动到城市 3,等待 2 Byou 至时间 3 抵达。
【数据范围】
- 1≤N≤300000。
- 1≤Q≤300000。
- 0≤Li<Ri<109(1≤i≤N−1)。
- 1≤Tj≤2(1≤j≤Q)。
- 1≤Pj≤N−1(1≤j≤Q,Tj=1)。
- 0≤Sj<Ej<109(1≤j≤Q,Tj=1)。
- 1≤Aj≤N(1≤j≤Q,Tj=2)。
- 0≤Bj<109(1≤j≤Q,Tj=2)。
- 1≤Cj≤N(1≤j≤Q,Tj=2)。
- 0≤Dj<109(1≤j≤Q,Tj=2)。
1.(4 分)N≤1000,Q≤1000。
2.(30 分)所有 Tj=2(1≤j≤Q)。
3.(66 分)无其他限制。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?