首页 > 其他分享 >离散化( 排序+ 二分查找)

离散化( 排序+ 二分查找)

时间:2023-01-22 20:24:18浏览次数:37  
标签:二分 temp int 离散 查找 排序

 

int temp[N],a[N];
int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        temp[i]=a[i];
    }
    sort(temp+1,temp+n+1);
    int len=unique(temp+1,temp+n+1)-temp-1;
    for(int i=1;i<=n;i++)//
        a[i]=lower_bound(temp+1,temp+len+1,a[i])-temp;
}

 

标签:二分,temp,int,离散,查找,排序
From: https://www.cnblogs.com/towboa/p/17064619.html

相关文章

  • 17种编程语言实现排序算法-希尔排序
    开源地址https://gitee.com/lblbc/simple-works/tree/master/sort/覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。......
  • 17种编程语言实现排序算法-选择排序
    开源地址https://gitee.com/lblbc/simple-works/tree/master/sort/覆盖语言:C、C++、C#、Java、Kotlin、Dart、Go、JavaScript(JS)、TypeScript(TS)、ArkTS、swift、PHP。......
  • MySQL排序与分页详解
    1.排序数据排序规则使用ORDERBY子句排序ASC(ascend):升序DESC(descend):降序ORDERBY子句在SELECT语句的结尾。单列排序SELECTlast_name,job_id,department_id,hire_d......
  • 【算法-堆排序】Go语言实现
    堆排序通过数组构造堆,根节点是最大的元素是大根堆,相反为小根堆主要有俩个方法,插入InsertHeap,调整堆:heapify对于排序来说:先把数组构造成一个大根堆,然后[0]依次......
  • 归并排序和快速排序补充扩展-Go语言
    基于堆排序的算法题小和问题在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。就是在合并的时候,当左边数组的数小于右边数组的......
  • 2021 上海 M(Ag) 二分图 构造
    最近寒假闲来无事,所以开个博客记录记录自己做题时的一些想法和过程。当时看M官方题解时感觉有点难理解和不太符合自然思路,所以来写一个我觉得比较自然的思路。原题链接:Pr......
  • 程序:冒泡排序
    #include<stdio.h>voidbubble_sort(intarr[],intsz){inta=0;for(a=0;a<sz-1;a++){intb=0;for(b=0;b<sz-1-a;b++){i......
  • 【算法-基础之排序01】Go语言实现
    仓库码云地址远程仓库地址声明本人是个菜鸟,不一定对哦。。。我只测试一个是正确的。还有对于数组只有一个数或者nil的不考虑。先写一个公共的方法。替换俩个位置的数......
  • 程序:输入三个不相等的数字使它们按照大到小排序
    写法一:看起来复杂其实简单,从数字本身入手进行操作。#include<stdio.h>intmain(){intnum1;intnum2;intnum3;printf("请输入三个不相等的数字\n");scanf_s("%d......
  • 程序:在数组中用二分法找到相应的数字下标
    #include<stdio.h>intmain(){intarr[]={1,2,3,4,5,6,7,8,9,10};intleft=0;intright=sizeof(arr)/sizeof(arr[0]);intmid=0;intanswer=8;while(left<=......