E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
BZOJ2743
bzoj2743
: [HEOI2012]采花(树状数组)
题目传送门。解法:想了蛮久。首先这道题肯定不能用前缀和相减什么的。那么只能用区间1~l来表示答案。因为1~r就没有了l的限制。记录每个点上一个出现的位置。last[i]表示i上一个出现的位置。能采到i这个位置上的花是从last[last[i]]+1这个位置开始的。然后last[i]+1开始就采不了这朵花了。树状数组维护下代码实现:#include#include#include#include#i
Hanks_o
·
2018-04-12 08:07
BZOJ
树状数组
BZOJ2743
: 采花 题解
一眼看上去像莫队,但是范围是1e6,O(nn−−√)O(nn)会炸考虑离线以后用数据结构维护其实这种技巧挺常见的,就是将询问按照右端点排序然后枚举右端点,从右向左移动,每移动一个维护每种颜色从右向左数第二个在哪里,因为每次只会修改一种颜色,这个是很好维护的用树状数组维护所有的颜色的“第二个”的位置的出现次数,那么对于查询[l,r],我显然要找从右向左数第二个在l之后的那些颜色,也就是求(l,r)中
IcePrincess_1968
·
2018-04-11 00:03
树状数组
[
BZOJ2743
][HEOI2012]采花(离线树状数组)
传送门这题和1878做法是一样的。我也有写blog。但是1878要求的是区间内出现次数>1的颜色个数,而这题求的是区间中出现次数>2的颜色个数,那我们树状数组修改的就是last[last[i]]就好咯,具体做法见上一题。注意:这里的last会访问到0,注意在树状数组里面特判!#include#include#include#includeusingnamespacestd;constintmaxn
_Mocha_
·
2018-03-16 13:18
树状数组
bzoj2743
采花 树状数组
令pre[i]表示在i之前和i同色的与i最近的点,则答案相当于统计有多少点,满足pre[]在(l,r)区间中,而pre[pre[]]不再(l,r)中。离线树状数组即可。AC代码如下:#include #include #include #include #defineN1000005 usingnamespacestd; intn,cnt,m,pt,tot,c[N],fst[N],pnt
lych_cys
·
2016-04-02 13:00
树状数组
【
bzoj2743
】[HEOI2012]采花 树状数组 bzoj400AC纪念
又被太神鄙视了……虽然题数比较少,但还是纪念一下吧。同一类问题,计算一个nxt[i]表示i后面出现的第一个位置,离线做,按照右端点排序,扫描到i,把nxt[nxt[i]]减1,nxt[i]加1。#include #include #include #include #include #include #definemaxn1000010 usingnamespacestd; structyts
u012288458
·
2016-01-18 15:00
【HEOI2012】采花
BZOJ2743
Description 萧芸斓是Z国的公主,平时的一大爱好是采花。 今天天气晴朗,阳光明媚,公主清晨便去了皇宫中新建的花园采花。花园足够大,容纳了n朵花,花有c种颜色(用整数1-c表示),且花是排成一排的,以便于公主采花。公主每次采花后会统计采到的花的颜色数,颜色数越多她会越高兴!同时,她有一癖好,她不允许最后自己采到的花中,某一颜色的花只有一朵。为此,公主每采一朵花,要么此前已采到此颜
·
2015-11-12 22:38
2012
[
BZOJ2743
] [HEOI2012]采花
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=2743题目大意给定一个序列,多次询问区间内出现两次以上的数的数量题解和HH的项链是一样的,离线处理树状数组维护,唯一的差别在于HH是维护区间第一个,而这道是维护区间第二个我们用next[I]表示i后面第一个和i颜色相同的位置在我们把左端点i向后推的时候,我们要修改next[i]-1,next[n
slongle_amazing
·
2015-11-01 19:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他