P14977 [USACO26JAN1] Lineup Queries S
题目描述
有一队奶牛,初始时(即时刻 $t = 0$)只有奶牛 $0$ 在位置 $0$(这里,一头奶牛在位置 $k$ 表示它前面有 $k$ 头奶牛)。在时刻 $t$($t=1,2,3,\dots$),位置 $0$ 的奶牛移动到位置 $\lfloor t/2\rfloor$,位置 $1\dots \lfloor t/2\rfloor$ 上的每头奶牛向前移动一个位置,并且奶牛 $t$ 加入到队列的末尾(位置 $t$)。
回答 $Q$($1\le Q\le 10^5$)个独立的查询,每个查询属于以下两种类型之一:
1. 在时刻 $t$ 刚结束时,奶牛 $c$ 在什么位置($0\le c\le t\le 10^{18}$)?
2. 在时刻 $t$ 刚结束时,位置 $x$ 上是哪头奶牛($0\le x\le t\le 10^{18}$)?
输入格式
第一行包含 $Q$,表示查询的数量。
接下来的 $Q$ 行,每行包含三个整数,指定一个查询,格式为 "$1$ $c$ $t$" 或 "$2$ $x$ $t$"。
输出格式
将每个查询的答案输出在单独一行。
说明/提示
不同时刻刚结束时的队列排列:
```none
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=9$ 刚结束时,奶牛 $4$ 的位置是 $2$,而位置 $2$ 上的奶牛是 $4$。
---
- 输入 $3$:$Q\le 1000, t\le 100$
- 输入 $4$:$t\le 5000$
- 输入 $5$-$8$:所有查询均为类型 1。
- 输入 $9$-$12$:所有查询均为类型 2。
翻译由 DeepSeek V3 完成