2016 ACM/ICPC Asia Regional Dalian Online 1010 Weak Pair 离散化+树状数组
离散化+树状数组
把祖先节点的值 作为下标 插入的树状数组里, 即 val 的位置插入一个 1, add(val, 1),
然后到当前位置是 get(k / val) 就是 当前满足条件的祖先节点,
回溯的时候把当前的祖先节点pop掉, 即 在 val 位置 插入 一个 -1 , add(val, -1) 这样 就可以维护成 树状数组里记录的 都是当前节点的祖先节点 也是 所有祖先节点。
然后就是 val < 1e9, 直接使用 树状数组必然不行, 所以 我们 进行离散化, 把 n 个 val[i] 和
原创
2016-09-11 02:24:28 ·
1241 阅读 ·
0 评论