CF2117H.Incessant Rain
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
注意本题的内存限制与通常不同。
银狼给了你一个长度为 n 的数组 a 和 q 个查询。在每个查询中,她替换数组中的一个元素。在每个查询后,她将询问你 k 的最大值,使得存在一个整数 x 和 a 的一个子数组 ∗,其中 x 是该子数组的 k-多数。
若 y 在数组 b 中出现了至少 ⌊2∣b∣+1⌋+k 次(其中 ∣b∣ 表示 b 的长度),则称 y 是数组 b 的 k-多数。注意 b 可能不存在一个 k-多数。
∗ 若数组 a 在删除开头和结尾的若干(可能为零或者全部)元素后可以得到数组 b,则称 b 是 a 的一个子数组。
输入格式
输入数据包含多个测试用例。输入数据的第一行包含一个整数 t(1≤t≤104),表示测试用例的个数。
对于每个测试用例:
- 第一行包含两个整数 n 和 q(1≤n,q≤3⋅105),表示 a 的长度和查询的数量。
- 第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n)。
- 接下来的 q 行中每行包含两个整数 i 和 x,表示当前查询将 ai 替换为 x(1≤i,x≤n)。
输入数据保证所有测试用例的 n 和 q 之和均不超过 3⋅105。
输出格式
对于每个测试用例,在一行中输出每个查询的回答,并以空格分隔。
输入输出样例
输入#1
2 5 5 1 2 3 4 5 3 4 1 4 2 4 4 3 2 3 7 8 3 2 3 3 2 2 3 2 3 5 3 6 3 3 4 4 4 7 4 6 4 2 4
输出#1
1 1 2 1 0 2 2 3 2 1 1 1 2
输入解题思路,AI测评打分。不知道怎么写?