A3954 「USACO 2026 First Platinum」Lineup Counting Queries

暂无评定 传统题 USACO 上传者
时间限制2000ms
内存限制256MiB
通过 / 提交0/0

A3954「USACO 2026 First Platinum」Lineup Counting Queries

暂无评定 传统题 USACO 上传者
时间限制2000ms
内存限制256MiB
通过 / 提交0/0

题目描述

题目译自 USACO 2026 First Contest, Platinum Problem 2. Lineup Counting Queries

最初(即时刻 t=0t=0),有一排奶牛,仅包含位于位置 00 的奶牛 00(在此,若一头奶牛前面有 kk 头奶牛,则称其位于位置 kk)。对于 t=1,2,3,…t=1,2,3,\dots 的每个时刻 tt,位于位置 00 的奶牛移动到位置 ⌊t/2⌋\lfloor t/2\rfloor,位于位置 1…⌊t/2⌋1\dots \lfloor t/2\rfloor 的每头奶牛向前移动一个位置,而奶牛 tt 加入队伍末尾(位置 tt)。

回答 QQ (1≤Q≤105)(1\le Q\le 10^5) 个独立的询问,每个询问的形式如下:

在时刻 tt 结束后,编号为 l1…r1l_1\dots r_1 的奶牛中,有多少头位于位置 l2…r2l_2\dots r_2?$(0\le l_1\le r_1\le t, 0\le l_2\le r_2 \le t, t\le 10^{18})$

输入格式

第一行包含 QQ,即询问的数量。

接下来的 QQ 行每行包含五个整数,指定一个形式为 l1 r1 l2 r2 tl_1\,r_1\,l_2\,r_2\,t 的询问。

输出格式

对每个询问,在单独的一行中输出答案。

1
0 1000000000000000000 0 1000000000000000000 1000000000000000000

1000000000000000001

不同时刻的队伍排列:

t = 0 | 0
t = 1 | 0 1
t = 2 | 1 0 2
t = 3 | 0 1 2 3
t = 4 | 1 2 0 3 4
t = 5 | 2 0 1 3 4 5
t = 6 | 0 1 3 2 4 5 6
t = 7 | 1 3 2 0 4 5 6 7
t = 8 | 3 2 0 4 1 5 6 7 8
t = 9 | 2 0 4 1 3 5 6 7 8 9

在 t=9t=9 时,奶牛从前到后的顺序是 [2,0,4,1,3,5,6,7,8,9][2,0,4,1,3,5,6,7,8,9]。

对于第三个询问,位于位置 3…53\dots 5 的奶牛是 [1,3,5][1,3,5],其中只有一头属于编号范围 4…54\dots 5。

4
0 9 0 9 9
3 5 4 5 9
4 5 3 5 9
1 1 3 3 9

10
2
1
1

数据范围与提示

  • 测试点 3:N≤10N\le 10
  • 测试点 4-7:对于所有询问,满足 l1=r1l_1 = r_1
  • 测试点 8-14:对于所有询问,满足 r1≤2⋅l1r_1 \leq 2 \cdot l_1
  • 测试点 15-21:无额外约束

供题:Agastya Goel 和 Benjamin Qi