#bzoj

BZOJ1901 Zju2112 Dynamic Rankings 主席树

  给你一段序列(n个数),让你支持一些操作(共m次),  有两种操作,一种是询问区间第k小,一种是单点修改。  n,m<=10000  这个主席树的写法是我自己造出来的。  主席树的查询区间第k大需要依赖前缀和。  树状数组最擅长这个了,就让他来干。  原理是这样的:  先离散化,包括修改操作里面的数字也要离散...

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...

BZOJ5120 [2017国家集训队测试]无限之环 费用流

  原题挺简略的。  本题好难。  听了任轩笛大佬<国家队神犇>的讲课才略会。  然而费用流我也是第一次写。而且这题的费用流是特殊的(简化的)。  于是我抄了任爷的代码。  然而,我因为常量写错,找了一个小时……  这里的work和add我都是直接抄的…&helli...

BZOJ3377 [Usaco2004 Open]The Cow Lineup 奶牛序列 其他

  给出一个序列,序列中的数字为1~k中的。  让你求最短的非子序列长度。题解  我们把构建非子序列看作在原序列中行走。  我们考虑当前走到了第i个数字,然后我们要选择后面的数字使得答案最短。  那么我们必然要尽量选择一步能到达的最远的方案(当然最好是直接走到终点)。  如果,在i后面的序列中,你要走到某一个位置,这个...

BZOJ3091 城市旅行 LCT

  鉴于本人语文不好,此题的描述原题很清晰,废话不多,请看原题。  可怕,原题是图片,不可以复制题目+删掉废话了……  http://blog.csdn.net/popoqqq/article/details/40823659  这位大佬写的很好。  我的代码在找错的时候一边找,一边该,然后...
代码星球 ·2020-06-27

BZOJ2843 极地旅行社 LCT

  有n座岛  每座岛上的企鹅数量虽然会有所改变,但是始终在[0,1000]之间。你的程序需要处理以下三种命令:  1."bridgeAB"——在A与B之间建立一座大桥(A与B是不同的岛屿)。由于经费限制,这项命令被接受,当且仅当A与B不联通。若这项命令被接受,你的程序需要输出"yes",之后会...
代码星球 ·2020-06-27

BZOJ1269 [AHOI2006]文本编辑器editor splay

  你要搞一个文本编辑器。  主要支持一下操作:  插入字符串、删除字符串、区间字符串翻转、输出光标后的一个字符。  详细见原题。  splay板子题。  一开始我是一个一个字符弄到splay里面去,结果Tle了。  所以,我们要一段一段的插入。删除也同理,详见代码 #include<cstring&g...

BZOJ2049 [Sdoi2008]Cave 洞穴勘测 LCT

  有一堆点,一开始没有连边。  有3种操作,一种是连接某两个点,一种是断开某一条边。还有一种是询问两个点是否连通。  操作过程中保证整个图是森林。  点数<=10000,操作数<=200000  LCT板子题。  对于询问,我们只需要access一下,然后splay一下,然后比较所在连通块的最左位置就可以...

BZOJ2002 [Hnoi2010]Bounce 弹飞绵羊 LCT

  沿着一条直线有n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。当它从第i个装置起步时,被弹几次后会被弹飞?此外,还会中途修改某个弹力装置的弹力系数,任何时候弹力系数均为正整数。  几乎是LCT板子题。  首先根据输入的建...

BZOJ2303 [Apio2011]方格染色 并查集

  现在有一个N*M矩阵,矩阵上只能填数字0或1 现在矩阵里已经有一些格子被填写了数字,询问是否存在一种填写方案使得「任意一个2*2的矩阵异或和为1」,输出方案总数  我们发现当我们已经确定(1,1)的颜色为1的时候:  我们知道c(i,j)。  那么如果i和j都是偶数,那么就有c(1,1)^c(i,1)^c...

BZOJ2809 [Apio2012]dispatching 可并堆

   n个点组成一棵树,每个点都有一个领导力和费用,可以让一个点当领导,然后在这个点的子树中选择一些费用之和不超过m的点,得到领导的领导力乘选择的点的个数(领导可不被选择)的利润。求利润最大值。n≤100000    做一个类似树形dp的操作。  维护大根堆,每次从子节点到父节点就是...
代码星球 ·2020-06-27

BZOJ1078 [SCOI2008]斜堆 堆

  斜堆(skewheap)是一种常用的数据结构。它也是二叉树,且满足与二叉堆相同的堆性质:每个非根结点的值都比它父亲大。因此在整棵斜堆中,根的值最小。但斜堆不必是平衡的,每个结点的左右儿子的大小关系也没有任何规定。在本题中,斜堆中各个元素的值均不相同。在斜堆H中插入新元素X的过程是递归进行的:当H为空或者X小于H的根...
代码星球 ·2020-06-27

BZOJ2333 [SCOI2011]棘手的操作 堆 左偏树 可并堆

有N个节点,标号从1到N,这N个节点一开始相互不连通。第i个节点的初始权值为a[i],接下来有如下一些操作:U x y: 加一条边,连接第x个节点和第y个节点A1 x v: 将第x个节点的权值增加vA2 x v: 将第x个节点所在...

BZOJ3211 花神游历各国 并查集 树状数组

  有n个数形成一个序列。  m次操作。  有两种,分别是:1. 区间开根(取整)2. 区间求和  这题做法大概我知道的有两种,一种是线段树,一种是并查集+树状数组。  两者都基于一个事实:任何一个数被开根很少的次数就变成1了,然后不变了。所以我们可以暴力解决这个开根的问题。  线段树就打一下lazy标记就可以了。  ...

BZOJ3674 可持久化并查集加强版 可持久化 并查集

n个集合m个操作操作:1ab合并a,b所在集合2k回到第k次操作之后的状态(查询算作操作)3ab询问a,b是否属于同一集合,是则输出1否则输出00<n,m<=2*10^4  上板子#include<cstring>#include<algorithm>#include<cstd...
首页上一页...1213141516...下一页尾页