AcWing
  • 首页
  • 活动
  • 题库
  • 竞赛
  • 应用
  • 其它
    • 题解
    • 分享
    • 商店
    • 问答
  • 吐槽
  • 登录/注册

pb_ds 的用法积累

作者: 作者的头像   zyk2507 ,  2023-01-23 21:24:34 ,  所有人可见 ,  阅读 33


0


sets

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>

using namespace std;
using namespace __gnu_pbds;

typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> indexed_set;

int main()
{
    indexed_set s;
    s.insert(2);
    s.insert(3);
    s.insert(7);
    s.insert(9);

    /* 给下标,出数字 */
    auto x = s.find_by_order(2);
    cout << *x << "\n";

    /* 给数字,出下标 */
    cout << s.order_of_key(2) << "\n";
    // 若该元素不存在,s.order_of_key(n) 返回的是传入的数字在s 里本该在的位置
    cout << "Not exists:\n";
    cout << s.order_of_key(6) << "\n";
    cout << s.order_of_key(8);
    return 0;
}

输出:

7
0
Not exists:
2
3

0 评论

你确定删除吗?
1024
x

© 2018-2023 AcWing 版权所有  |  京ICP备17053197号-1
用户协议  |  常见问题  |  联系我们
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息