| 题目名称 | 4322. [常州市赛 2025] 金币 |
|---|---|
| 输入输出 | Gold_coin.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 查看题解 | 分享题解 |
| 通过:2, 提交:7, 通过率:28.57% | ||||
|
|
100 | 0.107 s | 3.64 MiB | C++ |
|
|
100 | 0.113 s | 3.84 MiB | C++ |
|
|
70 | 2.552 s | 3.63 MiB | C++ |
|
|
40 | 0.436 s | 3.79 MiB | C++ |
|
|
40 | 1.217 s | 4.12 MiB | C++ |
|
|
40 | 1.861 s | 13.02 MiB | C++ |
|
|
30 | 6.614 s | 3.47 MiB | C++ |
| 本题关联比赛 | |||
| 寒假集训4 | |||
| 关于 金币 的近10条评论(全部评论) |
|---|
搬运自 https://www.luogu.com.cn/problem/B4395。数据为随机生成数据。
有 $n$ 个人在争夺一枚金币。
所有人排成一队,然后位于第 $1,1+k,1+2k,\cdots,1+(\lceil \frac{n}{k}\rceil−1)k$ 个的人被淘汰,这里 $\lceil \frac{n}{k} \rceil$ 为 $n$ 除以 $k$ 上取整,上取整操作会将一个小数变成大于或等于它的最小整数,如 $\lceil \frac{33}{5} \rceil=\lceil 6.6 \rceil=7$。 重复这一操作,直到仅剩一个人。最终剩下的这个人获得这枚金币。
小 Y 是所有人中最聪明的。他想知道,要想最终获得金币,一开始他应该站在第几个位置?
一行包含两个正整数 $n$ 和 $k$,表示总人数以及淘汰时用到的参数。
输出一行一个整数,表示小 Y 应该处于的初始队列中的位置。
6 2
4
8 3
8
10000 2
8192
1919810 114514
1919805
样例 1 解释
起初,队列 $=[1,2,3,4,5,6]$,因为 $k=2$,所以位于第 $1,3,5$ 的人被淘汰,队列 $=[2,4,6]$,然后位于第 $1,3$ 的人被淘汰,队列 $=[4]$,只剩下一个人,所以小 Y 一开始应该站在 $4$ 号位置。
样例 2 解释
起初,队列 $=[1,2,3,4,5,6,7,8]$,因为 $k=3$,所以位于 $1,4,7$ 的人被淘汰,队列 $= [2,3,5,6,8]$,然后位于 $1,4$ 的人被淘汰,队列 $=[2,5,8]$,然后位于 $1$ 的人被淘汰,队列 $=[5,8]$,然后位于 $1$ 的人被淘汰,队列 $=[8]$,只剩下一个人,所以小 Y 一开始应该站在 $8$ 号位置。
本任务共有 $10$ 个数据。
对于测试点 $1$,$n=k=2$。
对于测试点 $2\sim4$,$n,k\le 10^3$。
对于测试点 $5\sim8$,$k \le 10^6$。
对于全部数据,$2\le n,k\le10^{12}$。