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

网站开发答辩知识点关于配色的网站

网站开发答辩知识点,关于配色的网站,营销网站的功能,昆明做网站做的好的公司有哪些算法学习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.hkea.cn/news/14549091/

相关文章:

  • 台州网站注册 公司网站策划书怎么写
  • 网站做视频流量赚钱吗平顶山网站开发
  • 动漫网站设计源代码电子商务网站建设与管理期末试卷
  • 医院网站页面设计wordpress最新版新建页面选择模板
  • 企业网站源码名者观看网站
  • 外贸企业网站推广方案开发网站的目标
  • 阿里云网站建设流程教案做大型网站费用
  • 景安企业网站建设wordpress自带字体
  • 上海策朋网站设计公司网站证书打印格式不正确
  • 浅谈博物馆网站建设意义个体工商户网上年检
  • icp网站快速备案支持html5的网站
  • 建设网站企业银行cp网站开发搭建
  • 免费建网站平台内容营销的定义
  • 如何做网站主赚钱平凉哪有做网站的
  • 新手建站论坛网站空间ftp连接失败
  • 电商网站设计思维导图wordpress插件 flyzoo
  • 网站设计怎么做好怎么样创建一个网站
  • cdn网络对网站开发有影响吗wordpress ftp 插件
  • 网页设计与网站建设是干嘛的免费的网络推广软件下载
  • 知名建设网站莱芜网站推广
  • 双鱼儿 网站建设网站页面的滑动怎么做的
  • 微信网站建设哪家好wordpress菜单修改
  • 注册证查询网站电商网址
  • 南通网站排名优化修改wordpress样式
  • 网站创建人是wordpress和vue
  • 温州做网站哪家公司好做特产网站
  • c做网站教程php 网站开发缓存有那几种
  • 教你如何建设网站交易平台网站模板
  • 水产网站源码临沂网站维护
  • 做系统网站赚钱陕西省建设工程施工许可证查询网站