zoukankan      html  css  js  c++  java
  • # 离散化

    离散化

    • 值得注意的是:unique()函数去重之后并不是把重复元素放在最末尾,而是类似于删除了这个数,然后末尾元素保持不变,比如1 2 2 3去重之后是1 2 3 3,这里大部分博客都是错的。至少我用代码跑出的结果是这样的,所有去重之后的数组不能乱用。
    //discretiza
    
    sort(t,t+n);
    
    int m=unique(t,t+n)-t;//得到去重之后的元素个数
    
    //两种写法
    //预处理
    for(int i=0;i<n;i++){
    	a[i]=upper_bound(t,t+m,a[i])-t;
    }
    //离散化后的值从0开始
    //a[i]为离散化后**原数组**对应的值
    //t[]为排序后的顺序
    //t[a[i]]为原数组对应的值
    
    
    //每次使用的时候查询
    inline int find(int x){
        return lower_bound(a, a + m, x) - a;
    }
    
  • 相关阅读:
    java基础多线程
    java反射基础
    JSP-4(Session)
    JSP-3
    JSP-2
    复试计算机专业文献翻译
    jsp
    实现输入输出对应模型
    servlet
    tomcat的入门(1)
  • 原文地址:https://www.cnblogs.com/sstealer/p/11209065.html
Copyright © 2011-2022 走看看