51
Dev开发社区
首页
文章
问答
工具
搜索
登录
注册
#bzoj
BZOJ1901 Zju2112 Dynamic Rankings 主席树
给你一段序列(n个数),让你支持一些操作(共m次), 有两种操作,一种是询问区间第k小,一种是单点修改。 n,m<=10000 这个主席树的写法是我自己造出来的。 主席树的查询区间第k大需要依赖前缀和。 树状数组最擅长这个了,就让他来干。 原理是这样的: 先离散化,包括修改操作里面的数字也要离散...
代码星球
·
2020-06-27
BZOJ1901
Zju2112
Dynamic
Rankings
主席
BZOJ1367 [Baltic2004]sequence 堆 左偏树
一个整数Rhttp://blog.csdn.net/u011265346/article/details/46532421我被自己坑死了。左偏树合并:if(a==0||b==0)returna+b;这样是对的。然而:if(a*b==0)returna+b;这样是错的。原因是:a*b会爆int…&helli...
代码星球
·
2020-06-27
BZOJ1367
Baltic2004
sequence
左偏
BZOJ5120 [2017国家集训队测试]无限之环 费用流
原题挺简略的。 本题好难。 听了任轩笛大佬<国家队神犇>的讲课才略会。 然而费用流我也是第一次写。而且这题的费用流是特殊的(简化的)。 于是我抄了任爷的代码。 然而,我因为常量写错,找了一个小时…… 这里的work和add我都是直接抄的…&helli...
代码星球
·
2020-06-27
BZOJ5120
2017
国家
集训队
测试
BZOJ3377 [Usaco2004 Open]The Cow Lineup 奶牛序列 其他
给出一个序列,序列中的数字为1~k中的。 让你求最短的非子序列长度。题解 我们把构建非子序列看作在原序列中行走。 我们考虑当前走到了第i个数字,然后我们要选择后面的数字使得答案最短。 那么我们必然要尽量选择一步能到达的最远的方案(当然最好是直接走到终点)。 如果,在i后面的序列中,你要走到某一个位置,这个...
代码星球
·
2020-06-27
BZOJ3377
Usaco2004
Open
The
Cow
BZOJ3091 城市旅行 LCT
鉴于本人语文不好,此题的描述原题很清晰,废话不多,请看原题。 可怕,原题是图片,不可以复制题目+删掉废话了…… http://blog.csdn.net/popoqqq/article/details/40823659 这位大佬写的很好。 我的代码在找错的时候一边找,一边该,然后...
代码星球
·
2020-06-27
BZOJ3091
城市
旅行
LCT
BZOJ2843 极地旅行社 LCT
有n座岛 每座岛上的企鹅数量虽然会有所改变,但是始终在[0,1000]之间。你的程序需要处理以下三种命令: 1."bridgeAB"——在A与B之间建立一座大桥(A与B是不同的岛屿)。由于经费限制,这项命令被接受,当且仅当A与B不联通。若这项命令被接受,你的程序需要输出"yes",之后会...
代码星球
·
2020-06-27
BZOJ2843
极地
旅行社
LCT
BZOJ1269 [AHOI2006]文本编辑器editor splay
你要搞一个文本编辑器。 主要支持一下操作: 插入字符串、删除字符串、区间字符串翻转、输出光标后的一个字符。 详细见原题。 splay板子题。 一开始我是一个一个字符弄到splay里面去,结果Tle了。 所以,我们要一段一段的插入。删除也同理,详见代码 #include<cstring&g...
代码星球
·
2020-06-27
BZOJ1269
AHOI2006
文本
编辑器
editor
BZOJ2049 [Sdoi2008]Cave 洞穴勘测 LCT
有一堆点,一开始没有连边。 有3种操作,一种是连接某两个点,一种是断开某一条边。还有一种是询问两个点是否连通。 操作过程中保证整个图是森林。 点数<=10000,操作数<=200000 LCT板子题。 对于询问,我们只需要access一下,然后splay一下,然后比较所在连通块的最左位置就可以...
代码星球
·
2020-06-27
BZOJ2049
Sdoi2008
Cave
洞穴
勘测
BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊 LCT
沿着一条直线有n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。当它从第i个装置起步时,被弹几次后会被弹飞?此外,还会中途修改某个弹力装置的弹力系数,任何时候弹力系数均为正整数。 几乎是LCT板子题。 首先根据输入的建...
代码星球
·
2020-06-27
BZOJ2002
Hnoi2010
Bounce
弹飞
绵羊
BZOJ2303 [Apio2011]方格染色 并查集
现在有一个N*M矩阵,矩阵上只能填数字0或1 现在矩阵里已经有一些格子被填写了数字,询问是否存在一种填写方案使得「任意一个2*2的矩阵异或和为1」,输出方案总数 我们发现当我们已经确定(1,1)的颜色为1的时候: 我们知道c(i,j)。 那么如果i和j都是偶数,那么就有c(1,1)^c(i,1)^c...
代码星球
·
2020-06-27
BZOJ2303
Apio2011
方格
染色
查集
BZOJ2809 [Apio2012]dispatching 可并堆
n个点组成一棵树,每个点都有一个领导力和费用,可以让一个点当领导,然后在这个点的子树中选择一些费用之和不超过m的点,得到领导的领导力乘选择的点的个数(领导可不被选择)的利润。求利润最大值。n≤100000 做一个类似树形dp的操作。 维护大根堆,每次从子节点到父节点就是...
代码星球
·
2020-06-27
BZOJ2809
Apio2012
dispatching
BZOJ1078 [SCOI2008]斜堆 堆
斜堆(skewheap)是一种常用的数据结构。它也是二叉树,且满足与二叉堆相同的堆性质:每个非根结点的值都比它父亲大。因此在整棵斜堆中,根的值最小。但斜堆不必是平衡的,每个结点的左右儿子的大小关系也没有任何规定。在本题中,斜堆中各个元素的值均不相同。在斜堆H中插入新元素X的过程是递归进行的:当H为空或者X小于H的根...
代码星球
·
2020-06-27
BZOJ1078
SCOI2008
斜堆
BZOJ2333 [SCOI2011]棘手的操作 堆 左偏树 可并堆
有N个节点,标号从1到N,这N个节点一开始相互不连通。第i个节点的初始权值为a[i],接下来有如下一些操作:U x y: 加一条边,连接第x个节点和第y个节点A1 x v: 将第x个节点的权值增加vA2 x v: 将第x个节点所在...
代码星球
·
2020-06-27
BZOJ2333
SCOI2011
棘手
操作
左偏
BZOJ3211 花神游历各国 并查集 树状数组
有n个数形成一个序列。 m次操作。 有两种,分别是:1. 区间开根(取整)2. 区间求和 这题做法大概我知道的有两种,一种是线段树,一种是并查集+树状数组。 两者都基于一个事实:任何一个数被开根很少的次数就变成1了,然后不变了。所以我们可以暴力解决这个开根的问题。 线段树就打一下lazy标记就可以了。 ...
代码星球
·
2020-06-27
BZOJ3211
花神
游历
各国
查集
BZOJ3674 可持久化并查集加强版 可持久化 并查集
n个集合m个操作操作:1ab合并a,b所在集合2k回到第k次操作之后的状态(查询算作操作)3ab询问a,b是否属于同一集合,是则输出1否则输出00<n,m<=2*10^4 上板子#include<cstring>#include<algorithm>#include<cstd...
代码星球
·
2020-06-27
持久化
查集
BZOJ3674
加强
首页
上一页
...
12
13
14
15
16
...
下一页
尾页
按字母分类:
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
其他