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
BZOJ1798
算法模板——线段树4(区间加+区间乘+区间覆盖值+区间求和)
——通过
BZOJ1798
反复的尝试,我的出来一个重要结论——尽量减少pushup操作的不必要使用次数,对于程序提速有明显的效果!!!1typevet=record2a0,a1:
aidun3016
·
2020-08-18 08:15
AHOI2009 行星序列Seq (
BZOJ1798
)
1798:[Ahoi2009]Seq维护序列seqTimeLimit:30SecMemoryLimit:64MBDescription老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。有长为N的数列,不妨设为a1,a2,…,aN。有如下三种操作形式:(1)把数列中的一段数全部乘一个值;(2)把数列中的一段数全部加一个值;(3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模
weixin_33796205
·
2020-08-10 23:32
指针式线段树 bzoj 1798
学习了指针,重写
bzoj1798
数组本质是指针,所以可以buid(tr,1,n)一个Tree*tr指针,tr[1]指的是这个指针指向的下一个位置,不是开数组的那个tr,所以都改成了root#include
heheda_is_an_OIer
·
2020-07-04 17:45
数据结构
BZOJ2631——tree
1、题目大意:
bzoj1798
的lct版本2、分析:这个把线段树改成splay就好#include #include #include #include #include usingnamespacestd
qzh_1430586275
·
2016-05-17 08:00
tree
bzoj
LCT
2631
LinkCutTree
BZOJ1798
——[Ahoi2009]Seq维护序列seq
1、题目大意:区间修改乘法操作和加法操作,求区间和2、分析:为了填补bzoj2631的坑还是写一发题解吧,首先呢,既然想要双标记,但是这两个标记之间又有着制约作用,所以要定义优先级,这个优先级就定义为乘法先,加法后吧。。。那个一个区间的标记无非就是乘a加b,那么重点就是如何下传标记了。首先儿子有两个标记c,d,父亲有两个标记a,b,那么c就等于c乘a啦,而d等于d乘a加b(从操作的先后顺序考虑)很
qzh_1430586275
·
2016-05-17 07:00
线段树
bzoj
1798
AHOI2009
维护序列
【
BZOJ1798
】[Ahoi2009]Seq 维护序列seq 【线段树】
【题目链接】线段树各种标记一直没写过。注意乘法的时候也要更新加法标记。/*FootprintsInTheBloodSoakedSnow*/ #include #include usingnamespacestd; typedefunsignedlonglongULL; constintmaxn=100005; intn; ULLmod,sum[maxn'9';ch=getchar())f=
BraketBN
·
2016-03-30 08:00
线段树
【AHOI2009】【
BZOJ1798
】Seq 维护序列seq
Description老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。有长为N的数列,不妨设为a1,a2,…,aN。有如下三种操作形式:(1)把数列中的一段数全部乘一个值;(2)把数列中的一段数全部加一个值;(3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个整数N和P(1≤P≤1000000000)。第二行含有N个非负整数,从左到右依次为a
CreationAugust
·
2016-03-16 14:00
线段树
LCT
【
BZOJ1798
】【Ahoi2009】Seq 维护序列(线段树)
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1798唔这是好久好久以前写不出的题了QAQ,就是一个线段树水题qvq1#include 2#include 3#include 4#include 5#include 6#defineMaxN100010 7#defineMaxM200010 8#defineLLlonglong
Lukaluka
·
2016-01-22 20:00
【
bzoj1798
】[Ahoi2009]Seq 维护序列seq 线段树
Description老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。有长为N的数列,不妨设为a1,a2,…,aN。有如下三种操作形式:(1)把数列中的一段数全部乘一个值;(2)把数列中的一段数全部加一个值;(3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个整数N和P(1≤P≤1000000000)。第二行含有N个非负整数,从左到右依次为a
LOI_DQS
·
2016-01-05 08:00
Bzoj1798
AHOI2009 维护序列 线段树模版
题意:维护一个序列,支持区间同加或同乘一个数、询问区间和。(x+d)*c=x*c+d*c标记就是这样处理的,剩下的就是注意到处取模了。#include #include #include #defineLLlonglong usingnamespacestd; constintmaxn=100010; structnode{ intL,R; LLsum; LLplu,mul; }tree[maxn
Elemmir
·
2015-12-01 18:00
线段树
[
BZOJ1798
] [Ahoi2009]Seq 维护序列seq
[Ahoi2009]Seq维护序列seqDescription老师交给小可可一个维护数列的任务,现在小可可希望你来帮他完成。有长为N的数列,不妨设为a1,a2,…,aN。有如下三种操作形式:(1)把数列中的一段数全部乘一个值;(2)把数列中的一段数全部加一个值;(3)询问数列中的一段数的和,由于答案可能很大,你只需输出这个数模P的值。Input第一行两个整数N和P(1≤P≤1000000000)。
slongle_amazing
·
2015-08-14 15:00
BZOJ 2631 tree LCT
第三种是打一个乘法标记,(和
bzoj1798
好像)第四种是求u到v路径的权值和,这只需要把v换成根,之后访问x,把xsplay上去,拿出来此时的sum[x]就是答案。
wzq_QwQ
·
2015-08-10 16:00
X
bzoj1798
线段树。。调的要死
1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec Memory Limit: 64 MB Submit: 3349 Solved: 1241 [ Submit][ Status][ Discuss] Description 老师交给小可可一个维护数列的任务,现在小可可
·
2015-06-11 20:00
线段树
bzoj1798
AHOI2009seq
双标记线段树因为乘除有优先级关系,所以每访问到一个节点就把这个节点的标记往下传。pushdown中退出的条件是该点为叶子节点(p*2+1>tot)但是要注意tot的计算,是在build中节点编号最大的那个为tot(因此WA了好几次。。)programseq; typepoint=record l,r,sum,mul,add:int64;//tag end; vartree:array[1..400
zz_ylolita
·
2015-05-14 19:00
数据结构
tag
lazy
bzoj
BZOJ 2631 tree 动态树(Link-Cut-Tree)
如果不会下传标记的,先去做
BZOJ1798
,也是这样的标记,只不过在线段树上做,比这个要简单许多。这个也是我的LCT的第一题,理解起来十分困难啊。。。CODE:#incl
jiangyuze831
·
2014-09-28 13:00
动态树
bzoj
LCT
Link-Cut-Tree
BZOJ2631
上一页
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
其他