<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      離散化

      背景引入

      對于一個數字序列,如果我們只關心他們之間的相對大小,而不關心具體數值,并且直接使用原數值會對我們的解決方案產生影響,此時我們采用離散化

      具體步驟

      即將一個原數組映射到另一個等大的數組中,并且兩個數組數字之間的大小關系不變
      如:原序列= [ 12 4 80 7 6 11 4 5*10e10] 可以映射成: [5 1 6 3 2 4 1 7]

      代碼詳解

      #include <algorithm>
      #include <iostream>
      using namespace std;
      bool cmp(int a, int b) {
      	return a < b;
      }
      int main() {
      	int n = 8;
      	int arr[] = {12, 4, 80, 7, 6, 11, 4, int(5 * 10e10)};
      	int sorted[n];
      	copy(arr, arr + n, sorted);
      	sort(sorted, sorted + n, cmp);
      	for (int i = 0; i < n; i++) {
      		arr[i] = lower_bound(sorted, sorted + n, arr[i]) - sorted + 1;
      	}
      	return 0;
      }
      

      解釋

      在上述代碼中,我們先構建了一個原數組的排序,即sorted = [4 4 6 7 11 12 80 5*10e10]
      通過代碼

      for (int i = 0; i < n; i++) {
      		arr[i] = lower_bound(sorted, sorted + n, arr[i]) - sorted + 1;
      	}
      

      我們先獲得的arr[i]在sorted中的第一個不大于它的迭代器(指針),比如對于arr[i]=7,先返回指向sorted中的7的指針,減去sorted就會得到7在sorted中的位置n,即*(sorted+n) = 7,再加一就得到是第幾個數字,這樣就可以把原數組映射到一個連續且等于其長度的數組中了

      posted @ 2023-11-10 23:43  我沒有存錢罐  閱讀(17)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲精品国产精品乱码不| AV最新高清无码专区| 国产精品视频一区二区亚瑟| 乱码午夜-极品国产内射| 亚洲精品香蕉一区二区| av日韩在线一区二区三区| 国产精品一区二区三区黄| 免费看视频的网站| 国产精品一码二码三码| 无码人妻丰满熟妇区96| 日本一级午夜福利免费区| 欧美亚洲国产日韩一区二区| 久久精品国产一区二区三| 国产熟睡乱子伦午夜视频| 成人午夜大片免费看爽爽爽 | 亚洲爆乳WWW无码专区| 国产精品自拍中文字幕| 国产成人综合亚洲欧美日韩| 乱人伦中文视频在线| 另类 专区 欧美 制服| 欧美成人精品高清在线播放| 精品国产美女av久久久久| 婷婷久久香蕉五月综合加勒比| 德令哈市| 中文字幕久无码免费久久| 丰满人妻AV无码一区二区三区| 国产亚洲精品AA片在线爽| 亚州中文字幕一区二区| 国产日产亚洲系列av| 日韩淫片毛片视频免费看| 亚洲精品电影院| 激情综合色综合久久综合| 国产精品久久久久久久专区| 万载县| 亚洲中文字幕在线二页| 国产中文三级全黄| 99在线精品视频观看免费| 久久香蕉国产线看观看亚洲片| 亚洲国产成人资源在线| 蜜臀av黑人亚洲精品| 久久婷婷丁香五月综合五|