尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

坐标压缩与离散化

坐标压缩与离散化
📅 发布时间:2026/6/20 5:17:31

坐标压缩与离散化

简单版本

sort(alls.begin(), alls.end());
alls.erase(unique(alls.begin(), alls.end()), alls.end());
auto get = [&](int x) {return lower_bound(alls.begin(), alls.end(), x) - alls.begin();
};

封装

template <typename T> struct Compress_ {int n, shift = 0; // shift 用于标记下标偏移量vector<T> alls;Compress_() {}Compress_(auto in) : alls(in) {init();}void add(T x) {alls.emplace_back(x);}template <typename... Args> void add(T x, Args... args) {add(x), add(args...);}void init() {alls.emplace_back(numeric_limits<T>::max());sort(alls.begin(), alls.end());alls.erase(unique(alls.begin(), alls.end()), alls.end());this->n = alls.size();}int size() {return n;}int operator[](T x) { // 返回 x 元素的新下标return upper_bound(alls.begin(), alls.end(), x) - alls.begin() + shift;}T Get(int x) { // 根据新下标返回原来元素assert(x - shift < n);return x - shift < n ? alls[x - shift] : -1;}bool count(T x) { // 查找元素 x 是否存在return binary_search(alls.begin(), alls.end(), x);}friend auto &operator<< (ostream &o, const auto &j) {cout << "{";for (auto it : j.alls) {o << it << " ";}return o << "}";}
};
using Compress = Compress_<int>;

相关新闻

  • 撸一个功能强大的基于语义的图像检索系统
  • 数论常见结论及例题
  • N8N Workflow Collection - 专业级自动化工作流库 - 详解

最新新闻

  • CANN/ge获取HCCL跟随流数量
  • RxJavaSample高级技巧:10个实用方法解决回调地狱和复杂异步问题
  • 终极指南:快速解决跨平台中文显示不一致的PingFangSC字体配置方案
  • MiniCPM-V 4.6端侧部署实战:RTX 4070上稳定运行多模态推理
  • M3U8视频下载器:5分钟掌握跨平台高效下载工具
  • 如何用图像识别技术实现《鸣潮》的智能自动化体验

日新闻

  • 信任的进化:技术实现详解——如何用JavaScript构建博弈论模拟器
  • Terrakube自定义工作流:如何集成OPA、Infracost等工具扩展IaC能力
  • grunt-concurrent快速入门:5分钟学会并行运行Grunt任务

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号