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

网站建设公司普遍存在劣势网页版微信小程序在哪

网站建设公司普遍存在劣势,网页版微信小程序在哪,wordpress301跳转插件,网页简单模板下载算法学习05#xff1a;离散化、区间合并 文章目录 算法学习05#xff1a;离散化、区间合并前言需要记忆的模版#xff1a;一、离散化1.例题#xff1a;离散化 区间和#xff1a;拓展: 二、区间合并#xff08;贪心#xff09;1.例题#xff1a; 总结 前言 需要记忆的模…算法学习05离散化、区间合并 文章目录 算法学习05离散化、区间合并前言需要记忆的模版一、离散化1.例题离散化 区间和拓展: 二、区间合并贪心1.例题 总结 前言 需要记忆的模版 vectorint 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(vectorPII segs) {vectorPII 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 求区间[lr]间所有数的和。 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;} 拓展: //------ 拓展 ---------//注意 vectorint :: iterator 与 return a.begin() j;//迭代器 与 索引的关系不清楚。 vectorint :: iterator unique(vectorint 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 algorithmusing namespace std;typedef pairint , int PII;const int N 100000 10;int n; vectorPII segs;//存储合并完后的区间void merge(vectorPII segs) {vectorPII 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://www.w-s-a.com/news/773120/

相关文章:

  • 做农村电子商务的网站有哪些内容静态网站模板古典
  • 导航网站设计方案个人网站推广方法
  • 网站排名易下拉教程防wordpress花园
  • 计算机网站建设 是什么意思现在网站建站的主流语言是什么
  • php网站跟随导航西安百姓网免费发布信息网
  • 濮阳做公司网站html5 特效网站
  • ppt设计器怎么打开深圳seo网络推广营销
  • 建设银行网站用360浏览器建设信用卡中心网站
  • 创建公司网站 教程广州建设局
  • 详述网站建设的过程简答题ui培训设计怎么样
  • 动易网站官网ppt主题大全素材
  • 怎样用eclipse做网站可以做宣传图的网站
  • 哪里可以做游戏视频网站做网站平台应该注意哪些
  • 网站后期推广是谁来做网页制作步骤作答题
  • 全屋装修设计定制整装成都网站优化多少钱
  • html5购物网站模板一个网站两个数据库
  • 个人网站怎么做微信支付网站建设项目介绍
  • 建网站合同网站适配移动端和PC端
  • 网站建设培训机构哪里好html5开发wap网站
  • 免费自助建站源码学而思网校官网
  • 中国最大的网站制作公司青海省高等级公路建设管局网站
  • 建设网站对服务器有什么要求吗wordpress去除更新提示
  • 找个为公司做网站的手机端原神
  • 邯郸手机建站价格公众号开发者权限哪里添加
  • wordpress模板电子书下载站微信app官方免费下载
  • 从哪些方面进行网站建设如何做网站的实时画面
  • 设计网站公司收费西安小程序开发公司有哪些
  • 如何建网站赚取佣金哪个网站可以做免费宣传
  • 万网手机网站seo方法
  • 免费制作网站app百度首页纯净版