交互题 总结
写在前面:
于$2020$年$1$月$13$日开此博文
距离$NOIWC2020$仅剩$17$天
即时战略
最大差分
子任务一:
可以不断的缩小左右端点来确定未知的两个最值
子任务二:
显然这种情况下的最小答案为
$$S=\left \lfloor \frac{a[n]-a[1]}{n-1} \right \rfloor$$
所以当我们以$S$为块长分块时
一个块内的元素不会对答案造成贡献
所以只需要对每个块进行一次操作便可以在块之间更新答案了
最终询问数
$$Q=n+n-1+n-2$$
$S$用向下取整会$PC89pts$
向上取整就可以$A$了
小修和小栋猜♂数字
发现对于一个序列
我们最多能问出$n-4$个位置的值
剩下的四个便是最值和次值
通过$4$次询问可以把他们划分成$2$个集合
对于最值我们什么也知不道
对于次值可以知道值是多少但是无法确定它的位置
那么考虑维护$4$个位置分别是最值和次值的位置
同时维护次值的大小$L,R$
每次加入一个位置$i$时
从左右集合各取一个和$i$进行询问,设答案为x
$1>x\in[L+1,R-1]$
$a[i]$一定是$x$直接回答
$2>x=L$
那么从左集合选出的位置一定对应着次值,所以回答它并从左集合中把它删去
之后用左集合里另一个位置,$i$和右集合的一个位置进行询问
得到新的次小值
$3>x<L$
和上面的情况差不多不再赘述