码迷,mamicode.com
首页 >  
搜索关键字:bzoj1878    ( 33个结果
[BZOJ1878][SDOI2009]HH的项链 莫队
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1878 不带修改的莫队,用一个桶记录一下当前区间中每种颜色的数量就可以做到$O(1)$更新了。 ...
分类:其他好文   时间:2017-09-28 20:00:11    阅读次数:181
[BZOJ1878][SDOI2009]HH的项链
1878: [SDOI2009]HH的项链 Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一 段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此他的项链变得越来越长。有一天,他突然提出了一 个问题:某一段贝壳中, ...
分类:其他好文   时间:2017-09-20 23:11:12    阅读次数:127
\BZOJ1878 [SDOI2009]HH的项链 树状数组 或 莫队
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1878 题意概括 给出一个长度为n的序列,用m次询问,问区间Li~Ri中有多少种不同的数。 0<=数值<=1000000,n<=50000,m<=200000 题解 本题有许多做法。 这里介绍树状数组 ...
分类:编程语言   时间:2017-09-16 20:32:43    阅读次数:246
bzoj1878: [SDOI2009]HH的项链(主席树/离线+BIT)
这题有离线和在线两种做法。 离线:将查询区间按左端点排序,预处理出所有数下一次的出现位置,一开始将所有第一次出现的数a[i]++,之后当扫到这个数的时候a[next[i]]++,相当于差分,给之后的位置答案+1,因为查询区间左端点排序了,所以再也查不到当前点,这个数对答案有贡献的区间只有右端点在这个 ...
分类:其他好文   时间:2017-08-20 18:40:31    阅读次数:173
【bzoj1878】[SDOI2009]HH的项链
考虑非莫队的离线算法。。 若[l,r]中有重复数值很麻烦,考虑取一个数为代表(最左或最右) 1.最左:用BIT,先把所有第一个出现的数扔进去,将询问左端点升序,每次都可能产生历史的无用点,并出现新的“第1次出现点”,只需将其加入BIT即可。 2.最右,做法类似 当然有在线做法了(copy), 考虑区 ...
分类:其他好文   时间:2017-06-04 13:47:59    阅读次数:118
BZOJ1878 SDOI2009 HH的项链 树状数组
题意:给定一个颜色序列,每组询问给出区间[l,r],求[l,r]中不同颜色的数量 题解: 首先把所有颜色离散化,然后离线,将询问按右区间升序排列。从1-N把整个序列扫一遍,设Pos[i]为第i个颜色最后出现的位置,假定当前扫到的位置为i,则更新Pos[a[i]],那么问题变成了:求一个序列(Pos) ...
分类:编程语言   时间:2017-03-04 18:35:35    阅读次数:170
bzoj1878 [SDOI2009]HH的项链【莫队】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1878 以每个询问左端点所属的块的编号为第一关键字,右端点本身为第二关键字,排序,然后保利扫描,先移动右指针。 (逻辑相等号写成赋值号,调了1个小时,天呐,上次犯这个错误是多久以前了呀?) ...
分类:其他好文   时间:2017-02-08 21:55:11    阅读次数:200
[BZOJ1878][SDOI2009]HH的项链
[BZOJ1878][SDOI2009]HH的项链 试题描述 HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此, 他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中,包含了 ...
分类:其他好文   时间:2017-01-30 15:35:44    阅读次数:218
BZOJ1878: [SDOI2009]HH的项链[树状数组 离线]
1878: [SDOI2009]HH的项链 Description HH有一串由各种漂亮的贝壳组成的项链。HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义。HH不断地收集新的贝壳,因此, 他的项链变得越来越长。有一天,他突然提出了一个问题:某一段贝壳中, ...
分类:编程语言   时间:2016-11-15 13:43:50    阅读次数:191
bzoj1878--离线+树状数组
这题在线做很麻烦,所以我们选择离线。 首先预处理出数组next[i]表示i这个位置的颜色下一次出现的位置。 然后对与每种颜色第一次出现的位置x,将a[x]++。 将每个询问按左端点排序,再从左往右扫,将next[i]++,如果是询问就先返回sum[r]-sum[l-1](sum是a的前缀和)。其中前 ...
分类:编程语言   时间:2016-10-01 22:05:33    阅读次数:208
33条   上一页 1 2 3 4 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!