离散化?

 概念:元素太大的时候可以理想化。

实现:

  1. 利用map 《int,int》 等等的 一一对应表明。 就不会出现内存问题了,这个是动态的
  2. 当然也可以利用 排序去重的方法。
    read(n);
    for(ri i=1;i<=n;i++)
    {
        read(val[i]);
        t[i]=val[i];
    }
    sort(t+1,t+1+n);
    int tmp=unique(t+1,t+1+n)-t-1;
    for(ri i=1;i<=n;i++)
    {
        val[i]=lower_bound(t+1,t+1+tmp,val[i])-t;
    }
    for(ri i=1;i<=n;i++)
    {
        printf("%d ",val[i]);
    }
    
View Code

 

应用:

  • 数据太大了,数组装不下,只有这样处理
  • 优化空间,方便后续的处理,比如:二维图,坐标很大时候就离散化,
  • 利用从小到大的顺序,方便后续的处理

 

posted @ 2021-10-21 21:09  VxiaohuanV  阅读(108)  评论(0编辑  收藏  举报