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

有手机网站怎样做微信小程序seoer是什么意思

有手机网站怎样做微信小程序,seoer是什么意思,嘉兴网站制作方案,阿里ace 安装wordpress 并修改var说明add存储了插入操作,在指定 x x x下标所在位置 a [ x ] c a[x]c a[x]cquery是求 [ L , R ] [L,R] [L,R]区间和用到的数组,最后才用到alls 是存储离散化之后的值 , 对于会访问到的每个下标,统统丢到 a l l s 里面 ,会把 x 和 [ L , R …

在这里插入图片描述

var说明
add存储了插入操作,在指定 x x x下标所在位置 a [ x ] + = c a[x]+=c a[x]+=c
query是求 [ L , R ] [L,R] [L,R]区间和用到的数组,最后才用到
alls 是存储离散化之后的值 , 对于会访问到的每个下标,统统丢到 a l l s 里面 ,会把 x 和 [ L , R ] 都丢到 a l l s 里面,不同的 [ L , R ] 有可能会重复输入, 比如询问 [ 4 , 6 ] , [ 4 , 9 ] 的区间和 , 因此有必要去重,调用 a l l s . e r a s e 是存储离散化之后的值,对于会访问到的每个下标,统统丢到alls里面 \\ ,会把x和[L,R]都丢到alls里面,不同的[L,R]有可能会重复输入,\\ 比如询问[4,6],[4,9]的区间和,因此有必要去重,调用alls.erase 是存储离散化之后的值,对于会访问到的每个下标,统统丢到alls里面,会把x[L,R]都丢到alls里面,不同的[L,R]有可能会重复输入,比如询问[4,6],[4,9]的区间和,因此有必要去重,调用alls.erase
find 在 a l l s 里面二分查找 返回 r + 1 是想要做前缀和,下标要从 1 开始算,直接 r e t u r n r 会把下标从 0 开始算 r e t u r n r + 1 就是 r ≥ 0 , f i n d 返回值是 ≥ 1 , 返回值从 1 开始算 在alls里面二分查找\\返回r+1是想要做前缀和,下标要从1开始算,直接return \,\,\,\, r会把下标从0开始算\\return \,\,\,r+1就是r\ge0,find返回值是\ge1,返回值从1开始算 alls里面二分查找返回r+1是想要做前缀和,下标要从1开始算,直接returnr会把下标从0开始算returnr+1就是r0,find返回值是1,返回值从1开始算

思路:
把不同的 ∀ i ∈ [ 0 , m − 1 ] 把 [ L , R ] i \forall i\in [0,m-1]把[L,R]_i i[0,m1][L,R]i区间输入到 q u e r y query query

把不同的 ∀ i ∈ [ 0 , n − 1 ] 把 { x , c } i \forall i\in [0,n-1]把\{x,c\}_i i[0,n1]{x,c}i输入到 a d d add add

把不同的 ∀ i ∈ [ − inf ⁡ , inf ⁡ ] 把会访问到的坐标轴的下标位置 i d x i \forall i\in [-\inf,\inf]把会访问到的坐标轴的下标位置idx_i i[inf,inf]把会访问到的坐标轴的下标位置idxi输入到 a l l s alls alls,
i d x i 来自于 [ L , R ] i 的 L 和 R 还有 { x , c } i 里面的 x idx_i来自于[L,R]_i的L和R还有\{x,c\}_i里面的x idxi来自于[L,R]iLR还有{x,c}i里面的x,就这三个来源

1.应用离散化的方法初始化query,add和alls
2. a 在 x 位置加上 c ,先把 x 位置通过 f i n d 函数得到离散化之后的坐标 i d x ,然后 a [ i d x ] + = c , 完成 + = c a在x位置加上c,先把x位置通过find函数得到离散化之后的坐标idx,然后a[idx]+=c,完成+=c ax位置加上c,先把x位置通过find函数得到离散化之后的坐标idx,然后a[idx]+=c,完成+=c
3. 对 a 求前缀和存到 b 里面 对a求前缀和存到b里面 a求前缀和存到b里面
4. 遍历 q u e r y , 对于每个 p a i r < i n t , i n t > 类型的 [ L , R ] i , 我们也是要先分别通过 f i n d 函数分别获取 L , R 在离散化之后的下标 然后根据离散化之后建立的前缀和数组 b ,来直接求区间和! 遍历query,\\对于每个pair<int,int> 类型的[L,R]_i,我们也是要先分别通过find函数分别获取L,R在离散化之后的下标\\然后根据离散化之后建立的前缀和数组b,来直接求区间和! 遍历query对于每个pair<int,int>类型的[L,R]i,我们也是要先分别通过find函数分别获取LR在离散化之后的下标然后根据离散化之后建立的前缀和数组b,来直接求区间和!
总结:
题目要求区间和,然后可以用前缀和解决问题,但是这个问题是如果直接开辟一个巨大的数组然后在许多是0的位置反复计算+=0会很费劲,然后可以用离散化的方法减少计算量,只在需要访问的下标位置+=c,减少计算量,降低时间复杂度。
时间复杂度分析:
vector.erase的复杂度是 O ( k ) , k 是重复的元素 O(k),k是重复的元素 O(k)k是重复的元素
二分查找是 O ( l o g n ) O(logn) O(logn)
排序是 O ( n l o g n ) O(nlogn) O(nlogn)
然后求前缀和是 O ( n ) O(n) O(n)
总得来说是 O ( n l o g n ) + O ( k ) = O ( n l o g n ) O(nlogn) +O(k)=O(nlogn) O(nlogn)+O(k)=O(nlogn)

#include<algorithm>
#include<iostream>
#define N 300086
using namespace std;
int n,m,x,a[N],b[N];
typedef pair<int,int> PII;
vector<PII> add,query;
vector<int> alls;
//在alls里面二分查找
//返回r+1是想要做前缀和,下标要从1开始算,直接return r会把下标从0开始算
//return r+1就是r≥0,find返回值是≥1,返回值从1开始算
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;
}
int main(){cin>>n>>m;for(int i=0;i<n;++i){int x,c;cin>>x>>c;add.push_back({x,c});alls.push_back(x);}for(int i=0;i<m;++i){int l,r,c;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 idx=find(item.first);a[idx]+=item.second;}for(int i=1;i<=alls.size();++i){b[i]=b[i-1]+a[i];}for(const auto& item:query){int l=find(item.first),r=find(item.second);cout<<b[r]-b[l-1]<<endl;}return 0;
}
http://www.tj-hxxt.cn/news/97781.html

相关文章:

  • 做问卷比较好的网站免费网站电视剧全免费
  • 兴县做网站公司万网官网域名注册
  • 镇江哪里做网站佛山外贸seo
  • 彩票类网站怎么做推广最近三天的新闻大事小学生
  • 域名备案期间怎么做网站培训机构招生方案模板
  • 网络营销策划是什么seo关键词推广多少钱
  • 加盟网站需要怎么做中企动力做网站推广靠谱吗
  • 自己写wordpress主题网站关键词快速优化
  • 阿里巴巴网站的营销策略网络营销的八种方式
  • 湖南网站制作流程销售平台排名
  • 做网站 指导百度问问首页
  • h5网站建设机构搜索网络如何制造
  • wordpress支付宝收款电脑优化用什么软件好
  • 淄博网站设计制作网络营销主要有哪些特点
  • 网站建设的最新技术微博指数
  • 上海企业网络推广价格seo如何优化网站步骤
  • 做数学ppt工具的网站网站点击量与排名
  • 北京商城网站开发零基础学什么技术好
  • 虹口专业做网站南京企业网站排名优化
  • 这么做介绍网站的ppt西安百度网站快速优化
  • layui做网站前端百度一下你就知道下
  • 怎么做团购网站简述网站推广的意义和方法
  • 深圳做网站(信科网络)网站seo优化方案项目策划书
  • 铜仁市住房和城乡建设局网站北京seo营销公司
  • 做网站电话微信指数官网
  • 如何做微信收费视频网站seo是什么姓氏
  • 长春网长春关键词排名站设计百度今日小说搜索风云榜
  • 网站seo李守洪排名大师电子商务网站建设多少钱
  • 网站默认网站名成都计算机培训机构排名前十
  • 网站建设 推广信息免费推广网站2023mmm