思路
DHU数据结构期末考题,来源bzoj4552[Tjoi2016&Heoi2016]。非常好的一道线段树的题目,让我看到了自己对二分,线段树的理解尚浅。
本题的思路是二分处于q位置上的数字,然后将原数列转换成01序列(比他大置1,反之置0)。对于一个01序列,按递增排序相当于把后半部分置1,前半部分置0(线段树区间更新)。递减思路类似。最后我们check返回q位置上的值。
代码
1 |
|
真彩希帆のファン
DHU数据结构期末考题,来源bzoj4552[Tjoi2016&Heoi2016]。非常好的一道线段树的题目,让我看到了自己对二分,线段树的理解尚浅。
本题的思路是二分处于q位置上的数字,然后将原数列转换成01序列(比他大置1,反之置0)。对于一个01序列,按递增排序相当于把后半部分置1,前半部分置0(线段树区间更新)。递减思路类似。最后我们check返回q位置上的值。
1 | #include <bits/stdc++.h> |