#P14977. [USACO26JAN1] Lineup Queries S

[USACO26JAN1] Lineup Queries S

题目描述

有一队奶牛,初始时(即时刻 t=0t = 0)只有奶牛 00 在位置 00(这里,一头奶牛在位置 kk 表示它前面有 kk 头奶牛)。在时刻 ttt=1,2,3,t=1,2,3,\dots),位置 00 的奶牛移动到位置 t/2\lfloor t/2\rfloor,位置 1t/21\dots \lfloor t/2\rfloor 上的每头奶牛向前移动一个位置,并且奶牛 tt 加入到队列的末尾(位置 tt)。

回答 QQ1Q1051\le Q\le 10^5)个独立的查询,每个查询属于以下两种类型之一:

  1. 在时刻 tt 刚结束时,奶牛 cc 在什么位置(0ct10180\le c\le t\le 10^{18})?
  2. 在时刻 tt 刚结束时,位置 xx 上是哪头奶牛(0xt10180\le x\le t\le 10^{18})?

输入格式

第一行包含 QQ,表示查询的数量。

接下来的 QQ 行,每行包含三个整数,指定一个查询,格式为 "11 cc tt" 或 "22 xx tt"。

输出格式

将每个查询的答案输出在单独一行。

2
1 4 9
2 2 9
2
4
22
1 0 9
1 1 9
1 2 9
1 3 9
1 4 9
1 5 9
1 6 9
1 7 9
1 8 9
1 9 9
2 0 9
2 1 9
2 2 9
2 3 9
2 4 9
2 5 9
2 6 9
2 7 9
2 8 9
2 9 9
1 0 1000000000000000000
2 0 1000000000000000000
1
3
0
4
2
5
6
7
8
9
2
0
4
1
3
5
6
7
8
9
483992463350322770
148148148148148148

提示

不同时刻刚结束时的队列排列:

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 刚结束时,奶牛 44 的位置是 22,而位置 22 上的奶牛是 44


  • 输入 33Q1000,t100Q\le 1000, t\le 100
  • 输入 44t5000t\le 5000
  • 输入 55-88:所有查询均为类型 1。
  • 输入 99-1212:所有查询均为类型 2。

翻译由 DeepSeek V3 完成