HN 省队集训 DAY1
array
- 没看懂题解?
difference
给定一个数组,数组中的元素都为正整数,下标从 0 开始编号,它们 互不相同 ,可以执行两种操作来确定数列 /(a/) 中的元素
- 给定一个位置,交互器返回这个位置的值(最多执行 2 次)
- 给定一个集合 /(S/) ,交互器会以任意顺序返回集合内元素两两之差的绝对值 (最多执行 30 次)
- /(n/leq 250/)
-
首先通过一次全局询问出最大值和最小值的极值,然后通过二分前缀来确定这两个位置
-
然后查询这两个位置的值,找到最小值
-
然后如果能求出所有其他位置和最小值的差,那么自然就可以求出其他位置的值
-
对于一个集合 /(S/) 和一个位置 /(pos/) ,询问 /(S/) 和 /(S/cap pos/) 就可以得到集合 /(S/) 到 /(pos/) 的差值
-
考虑对于每一组询问 /(S_j/) 询问在二进制下第 /(j/) 位为 1 的编号
-
注意到这些值 互不相同 ,所以找到对于的组找到同时出现的数据就可以了
randomxor
- 没看懂题解 qwq
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/268052.html