题目名称 | 3913. K小数(简化) |
---|---|
输入输出 | kthnum.in/out |
难度等级 | ★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | sywgz 于2023-09-15加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:3, 提交:8, 通过率:37.5% | ||||
┭┮﹏┭┮ | 100 | 0.300 s | 4.36 MiB | C++ |
gao | 100 | 1.510 s | 9.62 MiB | C++ |
小金 | 100 | 1.558 s | 5.85 MiB | C++ |
HorPot | 10 | 9.123 s | 7.14 MiB | C++ |
HorPot | 10 | 9.128 s | 19.98 MiB | C++ |
┭┮﹏┭┮ | 0 | 0.298 s | 3.44 MiB | C++ |
刘昊哲 | 0 | 5.157 s | 15.54 MiB | C++ |
刘昊哲 | 0 | 5.204 s | 15.50 MiB | C++ |
关于 K小数(简化) 的近10条评论(全部评论) | ||||
---|---|---|---|---|
树状数组二分求第k小数
|
给定一个数列 $A$,请实现如下两种操作:
1. 将 $A_k$ 的值修改为 $d$。
2. 查询整个序列中第 $K$ 小的值。
第一行为一个整数 $n(0\le n\le 1000000)$,表示数列 $A$ 的大小。
第二行有 $n$ 个整数,表示序列 $A$ 各项的初始值。
第三行为一个整数 $m(0\le m\le 1500000)$,表示操作数。
下面 $m$ 行,每行描述一个操作:
$\mathrm{CHANGE}$ $k$ $d$(表示将 $A_k$ 的值修改为 $d$,$1≤k≤n$,$d$ 为整数)
$\mathrm{SUM}$ $k$(表示查询整个序列中第 $K$ 小的值)
对于每一个询问,输出查询的结果。
4 1 4 2 3 3 SUM 2 CHANGE 2 50 SUM 4
2 50
第一次操作,第二小的是 2
第二次操作,序列变为 1 50 2 3
第三次操作,第四小的是 50
10% 的数据 $1\le n\le 1000,1\le m\le 1000$;
50% 的数据 $1\le n\le 10000,1\le m\le 10000$;
100% 的数据 $1\le n\le 100000,1\le m\le 100000$;
对于每个 $i$ ($1 <= i <= n$), $A_i$ $<=$ $10^5$