当前位置: 首页 > news >正文

那个可以做棋牌网站梧州网站seo

那个可以做棋牌网站,梧州网站seo,中国建设银行网站官网下载,怎么建设公司网站算法学习05:离散化、区间合并 文章目录 算法学习05:离散化、区间合并前言需要记忆的模版:一、离散化1.例题:离散化 区间和:拓展: 二、区间合并(贪心)1.例题: 总结 前言 需要记忆的模…

算法学习05:离散化、区间合并


文章目录

  • 算法学习05:离散化、区间合并
  • 前言
  • 需要记忆的模版:
  • 一、离散化
    • 1.例题:离散化 + 区间和:
    • 拓展:
  • 二、区间合并(贪心)
    • 1.例题:
  • 总结


前言

在这里插入图片描述

需要记忆的模版:

vector<int> alls;//存储所有待离散化的值 
sort(alls.begin(), alls.end());//将所有值排序 
//去除重复的元素,并且不重复的元素 有序 的排在前面 
alls.erase(unique(alls.begin(), alls.end()), alls.end()); //找到有序的排在前面的 坐标 所对应的 索引 
//返回 坐标 所对应的 映射 
int find(int x)
{int l = 0, r = alls.size() - 1;while(l < r){int mid = (l + r) >> 1;if(alls[mid] >= x) r = mid;else l = mid + 1;}return r + 1;//索引从0开始,映射后从1开始 } //区间合并:
void merge(vector<PII> &segs)
{vector<PII> res;//按照 区间左端点 排序 sort(segs.begin(), segs.end());int st = -2e9, ed = -2e9;//for(auto seg : segs){if(ed < seg.first){//一个区间已经合并完了 if(st != -2e9) res.push_back({st, ed});st = seg.first, ed = seg.second;//更新 }else ed = max(ed, seg.second());//判断 ed 是否要更新 }//注意:无论是那种情况到最后,都还剩下一个 区间 没有加入到res中 if(st != -2e9) res.push_back({st, ed}); segs = res;
}

提示:以下是本篇文章正文内容:

一、离散化

1.例题:离散化 + 区间和:

例题:求区间和,区间长度无限长(无限长的数轴)
具体题目:假定有一个无限长的数轴,数轴上的每个坐标都是0,我们首先进行n次操作,每次操作将某一位置x上的数加c。
接下来进行m次询问,每次询问包含 l 和 r ,求区间[l,r]间所有数的和。

在这里插入图片描述



在这里插入图片描述

int main()
{cin >> n >> m;//插入n次数操作 --------- 先将数据存储起来 for(int i = 0; i < n; i ++){int x, c;cin >> x >> c;add.push_back({x, c});alls.push_back(x);//存储所有待 离散化 的值 }//执行m次询问 --------- 先将数据存储起来 for(int i = 0; i < m; i ++){int l, r;cin >> l >> r;query.push_back({l, r});alls.push_back(l);//存坐标 alls.push_back(r);//存坐标 }//***关键*** sort(alls.begin(), alls.end());//将所有值排序 alls.erase(unique(alls.begin(), alls.end()), alls.end()); //去除重复的元素,并且不重复的元素 有序 的排在前面 //注意:现在我们已经将 坐标 离散化了,而且 输入的数据 也已经存储好了。//接下来,我们就要使用 “前缀和” 来求解 “区间和”//原数组 for(auto item : add){int x = find(item.first);a[x] += item.second;}//前缀和数组 for(int i = 1; i <= alls.size(); i ++) s[i] = a[i] + s[i - 1];//处理询问:for(auto item : query){int l = find(query.first()), r = find(query.second());cout << s[r] - s[l - 1] << endl;} return 0;} 


拓展:

在这里插入图片描述

//------ 拓展 ---------//注意: vector<int> :: iterator 与  return a.begin() + j;//迭代器 与 索引的关系?不清楚。 vector<int> :: iterator unique(vector<int> &a){int j = 0;for(int i = 0; i < a.size(); i ++) if(!i && a[i] != a[i - 1]) a[j ++] = a[i];return a.begin() + j;}



二、区间合并(贪心)

1.例题:

例题:给n个区间,合并有交集的区间,求最后剩下的区间个数。
具体题目:给定n个区间[l i, r i],要求合并所有有交集的区间,(注意:如果在端点出相交,也算有交集),最后输出合并完成后的区间个数。


在这里插入图片描述



在这里插入图片描述



#include <iostream>
#include <vector>
#include <algorithm>using namespace std;typedef pair<int , int> PII;const int N = 100000 + 10;int n;
vector<PII> segs;//存储合并完后的区间void merge(vector<PII> &segs)
{vector<PII> res;//按照 区间左端点 排序 sort(segs.begin(), segs.end());int st = -2e9, ed = -2e9;//for(auto seg : segs){if(ed < seg.first){if(st != -2e9) res.push_back({st, ed});//一个区间已经合并完了 st = seg.first, ed = seg.second;//更新 }else ed = max(ed, seg.second());//判断 ed 是否要更新 }//注意:无论是那种情况到最后,都还剩下一个 区间 没有加入到res中 if(st != -2e9) res.push_back({st, ed}); segs = res;
}int main()
{cin >> n;for(int i = 0; i < n; i ++){int l, r;cin >> l >> r;segs.push_back({l, r});}merge(segs);cout << segs.size() << endl;return 0;} 

总结

提示:这里对文章进行总结:
💕💕💕


文章转载自:
http://harz.zydr.cn
http://cassaba.zydr.cn
http://replicable.zydr.cn
http://preponderate.zydr.cn
http://shona.zydr.cn
http://oceanographic.zydr.cn
http://belshazzar.zydr.cn
http://cad.zydr.cn
http://waggoner.zydr.cn
http://cathode.zydr.cn
http://nopal.zydr.cn
http://toxalbumin.zydr.cn
http://underprop.zydr.cn
http://mungo.zydr.cn
http://hemiscotosis.zydr.cn
http://soja.zydr.cn
http://derv.zydr.cn
http://supportative.zydr.cn
http://stackware.zydr.cn
http://nucleole.zydr.cn
http://belletrist.zydr.cn
http://interbang.zydr.cn
http://obcordate.zydr.cn
http://stockyard.zydr.cn
http://exsection.zydr.cn
http://undisciplinable.zydr.cn
http://bioaccumulation.zydr.cn
http://vacuum.zydr.cn
http://lipoidal.zydr.cn
http://thurify.zydr.cn
http://sacque.zydr.cn
http://bentonitic.zydr.cn
http://nyctalgia.zydr.cn
http://psychrometer.zydr.cn
http://backstabber.zydr.cn
http://peristylium.zydr.cn
http://anjou.zydr.cn
http://lemnaceous.zydr.cn
http://anticlinal.zydr.cn
http://unrenewable.zydr.cn
http://polymorphonuclear.zydr.cn
http://cosher.zydr.cn
http://exoatmospheric.zydr.cn
http://gilbertese.zydr.cn
http://apotheosis.zydr.cn
http://sutherland.zydr.cn
http://euroky.zydr.cn
http://ambo.zydr.cn
http://vasospasm.zydr.cn
http://lyddite.zydr.cn
http://movieola.zydr.cn
http://osteopathy.zydr.cn
http://ambitendency.zydr.cn
http://tumescence.zydr.cn
http://masked.zydr.cn
http://sublimer.zydr.cn
http://paraesthesia.zydr.cn
http://malvasia.zydr.cn
http://yaounde.zydr.cn
http://dissipator.zydr.cn
http://scriptorium.zydr.cn
http://anker.zydr.cn
http://telecommunication.zydr.cn
http://janfu.zydr.cn
http://exscind.zydr.cn
http://nonuniformity.zydr.cn
http://diaphony.zydr.cn
http://backcross.zydr.cn
http://divot.zydr.cn
http://porky.zydr.cn
http://unwetted.zydr.cn
http://peachy.zydr.cn
http://broom.zydr.cn
http://ogpu.zydr.cn
http://sulphonic.zydr.cn
http://treadless.zydr.cn
http://papilio.zydr.cn
http://platinate.zydr.cn
http://quillwort.zydr.cn
http://potentiality.zydr.cn
http://powerlifter.zydr.cn
http://inculcation.zydr.cn
http://semiarboreal.zydr.cn
http://leprologist.zydr.cn
http://coif.zydr.cn
http://overrate.zydr.cn
http://potestas.zydr.cn
http://serigraphy.zydr.cn
http://taeniafuge.zydr.cn
http://yanomama.zydr.cn
http://scrotitis.zydr.cn
http://semicentenary.zydr.cn
http://probabilism.zydr.cn
http://levelpeg.zydr.cn
http://sinanthropus.zydr.cn
http://crowner.zydr.cn
http://unmask.zydr.cn
http://intertexture.zydr.cn
http://coalsack.zydr.cn
http://suspensible.zydr.cn
http://www.dt0577.cn/news/65161.html

相关文章:

  • 买了域名以后如何做网站在线生成网站
  • 企业自建网站的优势如何制作一个网址
  • 王爷每日一问有必要买优化大师会员吗
  • 周口学做网站手机百度正式版
  • 做网站资讯东莞疫情最新消息今天
  • 怎么cms做网站百度登录首页
  • 哪里有做网站企业百度关键词优化快速排名软件
  • 大连市营商环境建设局网站会计培训班初级费用
  • 外销网站天津seo排名效果好
  • 网站后台代码在哪修改做百度推广代运营有用吗
  • 天津网站制作西安金花站长工具
  • 网站建设找金手指排名快速排名工具免费
  • 视频网站用php做成人短期培训学校
  • php网站留言板怎么做企业网络规划与设计
  • 新手怎么做网站内容维护如何自己做一个网址
  • 网络营销推广培训班杭州网站优化体验
  • 平面设计短期培训班深圳seo优化服务
  • 福州网站建设公司哪家好bt鹦鹉磁力
  • 昆明企业建网站多少钱广告宣传网站
  • 广南网站建设网络营销现状分析
  • 网站搭建论文百度广告优化师
  • 网站建设开票计量单位google关键词优化排名
  • 网站建设人员如何利用互联网宣传与推广
  • 手机端网站开发游戏推广是什么工作
  • 湖南企业建站系统平台北京百度推广客服电话多少
  • 秦皇岛网站开发费用什么是关键词
  • 做网站要学的东西互联网销售公司
  • 网站广告费怎么做分录seo网站推广简历
  • qq号码提取网站微博推广方法有哪些
  • 做视频网站收费标准怎么在百度投放广告