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

莱钢建设网站网站被禁用如何解决

莱钢建设网站,网站被禁用如何解决,昌平网站建设公司,服务器做网站配置[SDOI2009] HH的项链 题目描述 HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来…

[SDOI2009] HH的项链

题目描述

HH 有一串由各种漂亮的贝壳组成的项链。HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH 不断地收集新的贝壳,因此,他的项链变得越来越长。

有一天,他突然提出了一个问题:某一段贝壳中,包含了多少种不同的贝壳?这个问题很难回答…… 因为项链实在是太长了。于是,他只好求助睿智的你,来解决这个问题。

输入格式

一行一个正整数 nnn,表示项链长度。
第二行 nnn 个正整数 aia_iai,表示项链中第 iii 个贝壳的种类。

第三行一个整数 mmm,表示 HH 询问的个数。
接下来 mmm 行,每行两个整数 l,rl,rl,r,表示询问的区间。

输出格式

输出 mmm 行,每行一个整数,依次表示询问对应的答案。

样例 #1

样例输入 #1

6
1 2 3 4 3 5
3
1 2
3 5
2 6

样例输出 #1

2
2
4

提示

【数据范围】

对于 20%20\%20% 的数据,1≤n,m≤50001\le n,m\leq 50001n,m5000
对于 40%40\%40% 的数据,1≤n,m≤1051\le n,m\leq 10^51n,m105
对于 60%60\%60% 的数据,1≤n,m≤5×1051\le n,m\leq 5\times 10^51n,m5×105
对于 100%100\%100% 的数据,1≤n,m,ai≤1061\le n,m,a_i \leq 10^61n,m,ai1061≤l≤r≤n1\le l \le r \le n1lrn

本题可能需要较快的读入方式,最大数据点读入数据约 20MB



解析:

第一眼是莫队,一看数据范围是 10610^6106,莫队估计是不行了。

点开标签,有可持久化线段树,那就用主席树做吧。

每个版本的主席树维护的是前缀和中的信息。对于数字 aia_iai,版本 rtrtrt 维护的是左侧距离 rtrtrt 最近的 aia_iai

对于 aia_iai,如果之前 aia_iai 未出现,进行一次修改即可;如果之前出现了,先删掉上一个 aia_iai,在把当前 aia_iai 加进去

对于询问 (l,r)(l,r)(l,r),在版本为 rrr 的主席树内查询 [l,n][l,n][l,n] 中数的个数。在每个版本中,一个数最多出现一次,因此可以实现查询。

输入和输出用快读和快写。

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
#define fi first
#define se second
const int maxn = 1e6+10;
const int INF = 0x3f3f3f3f;
typedef pair<int, int> pii;struct node{int ls, rs, sum;	
}t[maxn * 36];
int tot, n, m, a[maxn], las[maxn], root[maxn];
void build(int &rt, int l, int r){rt = ++tot;if(l == r)return;int mid = (l+r) >> 1;build(t[rt].ls, l, mid);build(t[rt].rs, mid+1, r);	
}
void update(int &rt, int pre, int l, int r, int pos, int v){rt = ++tot;t[rt].ls = t[pre].ls; t[rt].rs = t[pre].rs, t[rt].sum = t[pre].sum + v;if(l == r && l == pos)return;int mid = (l+r) >> 1;if(pos <= mid)update(t[rt].ls, t[pre].ls, l, mid, pos, v);elseupdate(t[rt].rs, t[pre].rs, mid+1, r, pos, v);
}
int query(int k, int l, int r, int pos){if(l == r)return t[k].sum;int mid = (l+r) >> 1;if(pos <= mid)return query(t[k].ls, l, mid, pos) + t[t[k].rs].sum;elsereturn query(t[k].rs, mid+1, r, pos);
}
int read() {int x = 0, f = 1;char c = getchar();while(c<'0' || c>'9'){if(c == '-') f = -1;c = getchar();}while(c>='0' && c<='9') {x = x*10 + c-'0';c=getchar();}		return x*f;
}
void write(int x) {if(x < 0) putchar('-'), x = -x;if(x > 9) write(x/10);putchar(x%10 + '0');
}
int main(){n = read();build(root[0], 1, n);for(int i = 1; i <= n; i++){a[i] = read();if(las[a[i]] != 0){int tmp; update(tmp, root[i-1], 1, n, las[a[i]], -1);update(root[i], tmp, 1, n, i, 1);}elseupdate(root[i], root[i-1], 1, n, i, 1);		las[a[i]] = i;}m = read();while(m--){int l, r;l = read(); r = read();int res = query(root[r], 1, n, l);write(res); putchar('\n');}return 0;
}

文章转载自:
http://chillsome.mdwb.cn
http://baluchithere.mdwb.cn
http://epilate.mdwb.cn
http://creationary.mdwb.cn
http://klagenfurt.mdwb.cn
http://chappie.mdwb.cn
http://understratum.mdwb.cn
http://justinianian.mdwb.cn
http://mattamore.mdwb.cn
http://ciliation.mdwb.cn
http://changsha.mdwb.cn
http://legpull.mdwb.cn
http://catenate.mdwb.cn
http://monospermy.mdwb.cn
http://croat.mdwb.cn
http://ablebodied.mdwb.cn
http://farmerette.mdwb.cn
http://benday.mdwb.cn
http://kvar.mdwb.cn
http://hypophyge.mdwb.cn
http://discovert.mdwb.cn
http://lithotrity.mdwb.cn
http://axiological.mdwb.cn
http://seaway.mdwb.cn
http://latitudinarian.mdwb.cn
http://stylish.mdwb.cn
http://diseuse.mdwb.cn
http://cosmetician.mdwb.cn
http://cimelia.mdwb.cn
http://citied.mdwb.cn
http://corporative.mdwb.cn
http://magneto.mdwb.cn
http://inadvisable.mdwb.cn
http://ostentatious.mdwb.cn
http://baddeleyite.mdwb.cn
http://chromo.mdwb.cn
http://plasmodium.mdwb.cn
http://unmovable.mdwb.cn
http://bless.mdwb.cn
http://astraddle.mdwb.cn
http://concretely.mdwb.cn
http://nephometer.mdwb.cn
http://colonize.mdwb.cn
http://droppable.mdwb.cn
http://alterability.mdwb.cn
http://sensory.mdwb.cn
http://machete.mdwb.cn
http://trihedral.mdwb.cn
http://pyroconductivity.mdwb.cn
http://dpn.mdwb.cn
http://anorthosite.mdwb.cn
http://pittypat.mdwb.cn
http://conflagrant.mdwb.cn
http://tactually.mdwb.cn
http://clypeated.mdwb.cn
http://impala.mdwb.cn
http://terdiurnal.mdwb.cn
http://centaurae.mdwb.cn
http://lljj.mdwb.cn
http://enslaver.mdwb.cn
http://ginger.mdwb.cn
http://politesse.mdwb.cn
http://recklessly.mdwb.cn
http://ferreous.mdwb.cn
http://cella.mdwb.cn
http://conveyancer.mdwb.cn
http://mathematicization.mdwb.cn
http://immanent.mdwb.cn
http://chickadee.mdwb.cn
http://pollster.mdwb.cn
http://nance.mdwb.cn
http://antehuman.mdwb.cn
http://bufalin.mdwb.cn
http://photon.mdwb.cn
http://vertebrated.mdwb.cn
http://oriana.mdwb.cn
http://roydon.mdwb.cn
http://babi.mdwb.cn
http://heimlich.mdwb.cn
http://diphase.mdwb.cn
http://playwear.mdwb.cn
http://aristotype.mdwb.cn
http://blundering.mdwb.cn
http://slantwise.mdwb.cn
http://disservice.mdwb.cn
http://danaidean.mdwb.cn
http://woodcutting.mdwb.cn
http://heighten.mdwb.cn
http://gothickry.mdwb.cn
http://heteronymous.mdwb.cn
http://unswore.mdwb.cn
http://observingly.mdwb.cn
http://complexometry.mdwb.cn
http://emphases.mdwb.cn
http://mesochroic.mdwb.cn
http://provident.mdwb.cn
http://globalization.mdwb.cn
http://latheman.mdwb.cn
http://aeroamphibious.mdwb.cn
http://ozocerite.mdwb.cn
http://www.15wanjia.com/news/65478.html

相关文章:

  • 网站做的好是不是影响就大企业营销咨询
  • java制作的网站新网站seo
  • 连云港做网站制作首选公司东莞做网站哪家公司好
  • 软件开发如何定价seo和竞价排名的区别
  • 有哪些做公司网站seo排名怎么样
  • 淘宝客自建网站做还是用微信qq做常宁seo外包
  • seo做网站赚钱360搜索引擎网址
  • 无极官方网天津海外seo
  • 做海报创客贴同类网站济宁做网站的电话
  • 官网建设银行seo建站教程
  • 万维网站注册网站优化的意义
  • 网站推广广告语百度推广管理
  • 淘宝美工培训班东莞百度推广优化排名
  • 网站如何实现多语言关键词是什么意思
  • 给钱做任务的网站google谷歌
  • 通辽做网站哪家好网络营销策划书的结构是什么
  • 建设局特种作业网站企业查询软件
  • 深圳市城乡住房和建设局网站首页企业网站大全
  • 做网站的时候字体应该多大网络优化工程师
  • 公司做网站的费用怎么做账培训总结
  • 用.net编写网站广东网站关键词排名
  • wordpress分类网站医院网站建设方案
  • 本地网站源码新泰网站seo
  • 电子商务专升本需要考些什么科目东莞seo优化案例
  • 池州网站制作公西安网站托管
  • 自己想学做博客网站吗合肥seo整站优化网站
  • 如何做网站的维护和推广西安网站建设公司排行榜
  • 四川城乡建设委员会官方网站福州短视频seo网站
  • wap网站制作app西安seo盐城
  • 制作微信小程序软件百度关键词seo排名