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
BZOJ2002
bzoj2002
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
weixinding
·
2020-08-09 02:20
bzoj2002
bzoj2002
题意给定n个值a,表示某人跳到这个点(i)后会向后跳到(i+a)这个点,直到跳出范围n。
weixin_34261415
·
2020-08-09 00:10
bzoj2002
:[Hnoi2010]Bounce 弹飞绵羊
思路:动态树。把每个装置看成点,能弹到的装置连边,能弹飞的装置连到n+1号点,每个点点权设为1,这样问几次弹飞就可以转化为该点到n+1号点的路径的点权和。#include#include#include#includeconstintmaxn=200010;usingnamespacestd;intn,m,next[maxn];charch;voidread(int&x){for(ch=getch
weixin_30590285
·
2020-08-08 23:00
[
bzoj2002
] [Hnoi2010]Bounce 弹飞绵羊
Problemlink[Hnoi2010]Bounce弹飞绵羊Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它
Jacky35
·
2020-08-08 22:45
题解
暴力
分块
【滚动训练】
BZOJ2002
: [Hnoi2010]Bounce 弹飞绵羊(分块)
题意某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonkey
pengwill97
·
2020-08-08 18:52
BZOJ
数据结构---分块
BZOJ2002
#include#include#include#include#definemaxl200010usingnamespacestd;intn,m,cnt,size;inta[maxl],l[maxl],r[maxl],times[maxl],nxtpos[maxl],pos[maxl];voidprework(){for(inti=1;i=1;i--){times[i]=1;nxtpos[i]=
二分抄代码
·
2020-08-08 17:37
分块思想
【
BZOJ2002
】弹飞绵羊(HNOI2010)-LCT模板题
测试地址:弹飞绵羊做法:首先观察,从一个格子最多只能弹到另外一个格子,而一个格子能从多个格子弹到,并且只能向后弹,这个关系符合树的一对多关系,所以原图可以看成一片森林(为什么?因为从有些格子出发就直接弹飞了),点i的父亲是i+ki,那么操作就可以翻译成这样:1.询问某一个点的深度(根节点深度为1);2.修改某一个点的祖先。因为这题中树的结构是动态变化的,所以可以归为动态树问题,动态树一个最经典的实
Maxwei_wzj
·
2020-08-08 12:55
数据结构-平衡树/set
数据结构-LCT
【
bzoj2002
】 [Hnoi2010]Bounce 弹飞绵羊
非常裸的裸题……很明显每个点跳到的点的编号一定大于当前点,那么整个跳的图就形成了一个树结构,每个点的父亲节点定义为min(i+k,n)这样搞之后,操作1就是查询某个点的深度,操作2就是换父亲大概可以用dfs序搞/∗这个坑以后再填好了∗/反正只有换父亲嘛。。。来发lct就好啦2333作死地写了单旋然后T掉了==#includeusingnamespacestd;#defineFor(i,a,b)fo
GEOTCBRL
·
2020-08-08 12:06
树
LCT
水题
BZOJ2002
洛谷3203 HNOI2010 弹飞绵羊LCT
题目描述某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonk
forever_shi
·
2020-08-08 10:14
LCT
数据结构
[
BZOJ2002
][洛谷P3203][Hnoi2010]Bounce 弹飞绵羊(LCT维护链长)
luogu传送门2002:[Hnoi2010]Bounce弹飞绵羊TimeLimit:10SecMemoryLimit:259MBSubmit:16082Solved:8241[Submit][Status][Discuss]Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直
青君
·
2019-07-27 21:00
【
BZOJ2002
】[HNOI2010] 弹飞绵羊(大力分块)
点此看题面大致题意:有nnn个弹力装置,当到达第iii个装置时,会被弹到第i+kii+k_ii+ki个装置,若不存在第i+kii+k_ii+ki个装置,就会被弹飞。有两种操作,一种操作是将kxk_xkx改为yyy,另一种操作是询问从xxx出发被弹几次后会被弹飞。考虑分块这题可以用分块来做。我们可以将弹力装置进行分块,对于每一块的弹力装置,可以先预处理出每个弹力元素弹出这个块之后到达的位置nxtxn
chenxiaoran666
·
2018-08-31 11:31
BZOJ
分块
BZOJ2002
Hnoi2010 Bounce 弹飞绵羊 【LCT】【分块】
BZOJ2002Hnoi2010Bounce弹飞绵羊Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装
Dream_Maker_yangkai
·
2018-07-26 15:54
c++
BZOJ
LCT
分块
数据结构
BZOJ2002
: [Hnoi2010]Bounce 弹飞绵羊
n0$,m2#include3#include4#include5//#include6#include7//#include8//#include9usingnamespacestd;1011intn,m;12#definemaxn20001113structLCT14{15structNode16{17intfa,son[2];18boolrev;19intsize,realroot;20}a
昨日夕阳
·
2018-01-15 19:00
初识lct——洛谷p3203
bzoj2002
[HNOI2010]BOUNCE 弹飞绵羊
题目大意:现在有n个装置,每个装置会弹到一个地方(编号一定在它之后),也可能直接弹了出去,动态修改会弹到的地方,和动态查询从一个装置出发多少次会被弹出去。1 #include #include #definefo(i,x,y)for(inti=x;i<=y;i++) #definemin(a,b)((a)<(b)?(a):(b)) usingnamespacestd; constintMaxn=
Cold_Chair
·
2017-06-03 19:00
入门
信息学
LCT
【
bzoj2002
】【Hnoi2010】【Bounce 弹飞绵羊】【lct】
题目大意某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmonk
inklutcuah
·
2017-05-12 21:40
bzoj
数据结构
【
bzoj2002
】弹飞绵羊 LCT
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2002【题解】LCT的模板题。从点i向i+ki连边,构成一颗树,询问等价于求x结点的深度,修改就是删去原边,加入新边。这些都是LCT的基本操作。#include#include#include#include#include#include#includeusingnamespacestd;
chty_syq
·
2017-02-14 13:08
bzoj
LCT
bzoj2002
弹飞绵羊2
分块做法。因为写的是LCT所以这个思路只是大概了解了一下。十分脚妙。(23333/斜眼笑)蒯来的代码,不谢~orz#include#include#include#include#includeusingnamespacestd;intn,m;intbl[200011],f[200011],to[200011];intk[200011];voidinit(){scanf("%d",&n);ints
Hans_hans
·
2017-02-01 20:43
日常刷题
BZOJ2002
弹飞绵羊
LCT做法研究了一晚上,第二天调出来,过了样例。一交一个CE。你猜怎么着?我交了无数遍C然后miaomiao大神说了一句:你交的C我.....所以以后一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定一定CE了要记得看看交的啥语言。代码如下,具体分析各种blog上都有,我也是看了题解的蒟蒻。#include#include#include#include#
Hans_hans
·
2017-02-01 20:42
日常刷题
【
bzoj2002
】【Hnoi2010】【Bounce】【弹飞绵羊】【分块】
题目大意有n个格,可以在i往后跳a[i]个格,修改a[i],询问i跳多少次跳出这n个格。解题思路这是一道lct模板题,显然a[i]就是i的father,修改就是割一条边连一条边,询问一个点的深度。然而我并不会lct,只会打暴力。我们可以分块,维护跳到下一个块的花费,修改暴力重构当前块的所有点跳到下一个块的花费,询问一个块一个块的跳,当一个块大小为n√时复杂度为O(nn√)code#include#
inklutcuah
·
2016-08-17 20:19
bzoj
数据结构
bzoj2002
【HNOI2010】Bounce 弹飞绵羊
2002:[Hnoi2010]Bounce弹飞绵羊TimeLimit: 10Sec MemoryLimit: 259MBSubmit: 7467 Solved: 3934[Submit][Status][Discuss]Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线
AaronGZK
·
2016-05-31 00:00
分块
bzoj
LCT
bzoj2002
【HNOI2010】Bounce 弹飞绵羊
2002:[Hnoi2010]Bounce弹飞绵羊TimeLimit: 10Sec MemoryLimit: 259MBSubmit: 7467 Solved: 3934[Submit][Status][Discuss]Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线
AaronGZK
·
2016-05-31 00:00
分块
bzoj
LCT
BZOJ2002
——[Hnoi2010]Bounce 弹飞绵羊
1、题目大意:就是给一个动态的森林求size域2、分析:这个就是一个动态树问题,对于每一个位置i有i+ki这个父亲,于是这就是一个森林了,然后对于每一个修改直接lct维护就好,询问就是i到最外面的点的个数,恰好是一个链,就求一个size就好#include #include #include #include #include usingnamespacestd; #defineLLlonglon
qzh_1430586275
·
2016-05-17 08:00
2002
bzoj
LCT
Hnoi2010
弹飞绵羊
BZOJ2002
HNOI2010 弹飞绵羊 LCT
LCT=树链剖分+平衡树(多用Splay),AC之后才对这个等式深有感触……我们定义一个操作Access(x),这个操作可以将从x到根节点路径上的所有节点放到一颗Splay里,一切操作都在这棵Splay里做。你说要维护任意两个点的路径?反正是无向树换一下根不就好了……我们以执行Access的顺序为权值来进行树链剖分,每一条链用一颗Splay按照深度来维护,每一颗Splay与他的父亲(由于一条链一定
WDZRMPCBIT
·
2016-05-06 22:00
【
bzoj2002
】[Hnoi2010]Bounce 弹飞绵羊
题目描述:某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmon
qq_33442848
·
2016-04-22 16:00
刷题
bzoj
【codevs2333】【
BZOJ2002
】弹飞绵羊,第一次的LCT
传送门1传送门2写在前面:开始种树思路:分块orLCT,主要结合了黄学长的模版,同时感谢char哥、Yveh、Shallwe的帮助,做法什么的建议大家还是去网上找,有很多神犇讲解得不错,蒟蒻对这种模版也说不来什么,就这样吧……注意:找一个数组记录各个装置弹出后到的位置,以便link,cut操作代码:#include usingnamespacestd; intn,m,opt,x,y; intsta
xym_CSDN
·
2016-04-05 15:00
【codevs2333】【
BZOJ2002
】弹飞绵羊,第一次的LCT
传送门1传送门2写在前面:开始种树思路:分块orLCT,主要结合了黄学长的模版,同时感谢char哥、Yveh、Shallwe的帮助,做法什么的建议大家还是去网上找,有很多神犇讲解得不错,蒟蒻对这种模版也说不来什么,就这样吧……注意:找一个数组记录各个装置弹出后到的位置,以便link,cut操作代码:#include usingnamespacestd; intn,m,opt,x,y; intsta
xym_CSDN
·
2016-04-05 15:00
[
BZOJ2002
][Hnoi2010]Bounce 弹飞绵羊
[Hnoi2010]Bounce弹飞绵羊Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被
hbhcy98
·
2016-04-01 14:00
LCT
[
BZOJ2002
][HNOI2010]弹飞绵羊(LCT)
题目描述传送门题解LCT模板题。将每一个点连到能跳到的点,被弹飞的点连到n+1,那么就形成了一个树结构。动态地在这棵树上维护就可以了。询问的时候将那个点在辅助树中转到根,由于辅助树中splay按照深度关键字排序,所以根的左子树的大小就要要被弹几次了呀。代码#include#include#includeusingnamespacestd;constintmax_n=2e5+5;intn,m,x,y
Clove_unique
·
2016-03-27 14:13
题解
省选
lct
[
BZOJ2002
][HNOI2010]弹飞绵羊(LCT)
题目描述传送门题解LCT模板题。将每一个点连到能跳到的点,被弹飞的点连到n+1,那么就形成了一个树结构。动态地在这棵树上维护就可以了。询问的时候将那个点在辅助树中转到根,由于辅助树中splay按照深度关键字排序,所以根的左子树的大小就要要被弹几次了呀。代码#include#include#includeusingnamespacestd;constintmax_n=2e5+5;intn,m,x,y
Clove_unique
·
2016-03-27 14:13
题解
省选
lct
[
BZOJ2002
][HNOI2010]弹飞绵羊(LCT)
题目描述传送门题解LCT模板题。将每一个点连到能跳到的点,被弹飞的点连到n+1,那么就形成了一个树结构。动态地在这棵树上维护就可以了。询问的时候将那个点在辅助树中转到根,由于辅助树中splay按照深度关键字排序,所以根的左子树的大小就要要被弹几次了呀。代码#include #include #include usingnamespacestd; constintmax_n=2e5+5; int
Clove_unique
·
2016-03-27 14:00
hnoi
bzoj
LCT
BZOJ2002
& LCT模板(分块不会搞)
题意:看题.某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmo
YCuangWhen
·
2016-03-17 16:00
BZOJ2002
HNOI2010 Bounce 弹飞绵羊 题解&代码
这几天一直在bzoj水不能见人的水题…有时间补补题解吧【说得好像这题不水一样很简单的分块!第一次写到这么简单的分块!整个人都舒爽了!虽然还是WA了两次…妈的我只是写完一激动忘了输出后加回车…将整个长区间分成近似于sqrt(n)块【分块方法随意,满足可逆性即可对于每一块,处理出块内每个点弹出这一块所需步数然后每次查询最多累计sqrt(n)次(块数次)每次修改最多修改sqrt(n)次(块大小次)完美【
Rainbow6174
·
2016-03-15 22:00
【
bzoj2002
】[Hnoi2010]Bounce 弹飞绵羊
bzoj2002Bounce弹飞绵羊Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几
ALPS233
·
2016-03-14 21:00
分块
bzoj
bzoj2002
[Hnoi2010]Bounce 弹飞绵羊
题目链接linkcuttree比bzoj2049多维护一个size注意查询之前要把n+1reverse一下,保证答案正确性1#include 2#include 3#include 4#include 5#include 6#include 7#include 8#include 9#include 10#include 11#include 12#include 13#d
HugeGun
·
2016-03-02 21:00
bzoj2002
弹飞绵羊 LCT
2002:[Hnoi2010]Bounce弹飞绵羊TimeLimit: 10Sec MemoryLimit: 259MBSubmit: 6706 Solved: 3522[Submit][Status][Discuss]Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线
__560
·
2016-03-01 17:00
bzoj2002
弹飞绵羊 分块orLCT
先简单讲一下LCT做法,每个点以它的到达点为父节点(没有到达点就连向根),结果就是深度。然后修改就是改变父亲,一个cut再一个link就好了。 然后是分块。每个点维护它到达它所在块外面的点,及步数,预处理O(N)。查询时O(N/m)。修改时只需要修改x所在块在x前面的那些点即可,时间O(m)。因此总时间复杂度O(M*(N/m+m)+N)=O(MN^0.5+N)(取m=N^0.5)AC
lych_cys
·
2016-02-23 08:00
分块
LCT
[
BZOJ2002
] [Hnoi2010]Bounce 弹飞绵羊
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=2002题目大意支持删边同时添边+查询深度题解LCT模板题写了之后才发现细节满满const maxn=200005; var root,fa,size:array[0..maxn]oflongint; son:array[0..maxn,1..2]oflongint; i,j,k:longint;
slongle_amazing
·
2016-02-21 16:00
[
bzoj2002
]弹飞绵羊
题目大意有N个点,每个点有一个系数a[i],你处于位置i可以走到i+a[i],若i+a[i]>n则你走出了地图。现M个操作有两种:1、把a[j]修改为k。2、询问你位于点j时,需要走多少部走出地图。n #include #include #definefo(i,a,b)for(i=a;ista; intfather[maxn],size[maxn],pp[maxn],tree[maxn][2],a
WerKeyTom_FTD
·
2016-01-17 14:00
BZOJ2002
[Hnoi2010]Bounce 弹飞绵羊
AC通道:http://www.lydsy.com/JudgeOnline/problem.php?id=2002 [分析]看完LCT的理论分析,找入门题熟悉一下代码的时候...就看了这题思路感觉比较明确:因为跳跃就是连边的感觉,而且每个点的出度都等于1,这不就是一棵树吗(当然所有能弹飞的都连到根上)当然这种树的形态会改变,正好符合动态树的处理范畴.询问的是需要几次弹出去,也就是深度比它浅的有多少
诚叙
·
2016-01-12 19:00
bzoj2002
弹飞绵羊
LCT裸题,技巧是反着建边才能维护向下路径/**************************************************************Problem:2002User:ClareLanguage:C++Result:AcceptedTime:1884msMemory:6036kb*******************************************
Clarehehe
·
2016-01-06 23:50
LCT
bzoj2002
弹飞绵羊
LCT裸题,技巧是反着建边才能维护向下路径/**************************************************************Problem:2002User:ClareLanguage:C++Result:AcceptedTime:1884msMemory:6036kb*******************************************
Clarehehe
·
2016-01-06 23:50
LCT
【
bzoj2002
】[Hnoi2010]Bounce 弹飞绵羊 动态树
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
DQSSS
·
2016-01-04 17:59
===图论===
【
bzoj2002
】[Hnoi2010]Bounce 弹飞绵羊 动态树
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
LOI_DQS
·
2016-01-04 17:00
动态树
bzoj2002
: [Hnoi2010]Bounce 弹飞绵羊
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2002题意:中文题。。分析:先将这个数组分块,每块大小为sqrt(n),然后设定f[i]表示从i出发到第一个和i不同块的点所需的步数,nex[i]表示那个第一个和i不同块的点的位置。然后我们每次查询的时候就能最多sqrt(n)次就能跳出n长度了,修改的话可以很明显的知道改变第i个点的系数是所影响
Fsss_7
·
2015-12-31 01:00
【
bzoj2002
】 [Hnoi2010]Bounce 弹飞绵羊
非常裸的裸题……很明显每个点跳到的点的编号一定大于当前点,那么整个跳的图就形成了一个树结构,每个点的父亲节点定义为min(i+k,n)这样搞之后,操作1就是查询某个点的深度,操作2就是换父亲大概可以用dfs序搞/∗这个坑以后再填好了∗/反正只有换父亲嘛。。。来发lct就好啦2333作死地写了单旋然后T掉了==#include usingnamespacestd; #defineFor(i,a,b)
GEOTCBRL
·
2015-09-27 13:00
【HNOI2010】【
BZOJ2002
】Bounce 弹飞绵羊
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
CreationAugust
·
2015-08-16 15:14
随便搞搞
模板题库
【HNOI2010】【
BZOJ2002
】Bounce 弹飞绵羊
Description某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,L
CreationAugust
·
2015-08-16 15:00
动态树
LCT
bzoj2002
:[Hnoi2010]Bounce 弹飞绵羊
思路:动态树。把每个装置看成点,能弹到的装置连边,能弹飞的装置连到n+1号点,每个点点权设为1,这样问几次弹飞就可以转化为该点到n+1号点的路径的点权和。#include #include #include #include constintmaxn=200010; usingnamespacestd; intn,m,next[maxn];charch; voidread(int&x){ for
thy_asdf
·
2015-06-22 19:00
动态树
LCT
【动态树】[
BZOJ2002
] Bounce 弹飞绵羊
实际上就是动态树的模版加上一个维护每一条链的size这样就可以吧一次弹射看成一条路径,然后统计这个路径上的size实际上就是经过了多少个节点然后没什么了。。#include usingnamespacestd; constintMAXN=200000; intch[MAXN+10][2],Fa[MAXN+10]; intque[MAXN+10],sz[MAXN+10]; boolrev[MAXN+
JeremyGJY
·
2015-04-11 16:00
BZOJ2002
弹飞绵羊
【题意】我就不多说了;【题解】我们把i+k[i]当作是i的父亲,这样就是一个求在一棵树上的点到根节点的路径长度。因为这棵树的形态我们不能随便改变,所以可以用(LCA)动态树来做。#include#include#include#definenull0#defineMAX210000intfa[MAX],left[MAX],right[MAX],size[MAX],t[MAX];//处理父亲inli
cymxyym
·
2014-05-26 18:01
HDOJ
上一页
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
其他