--------数据结构-------
Akakii
_(:з」∠)_
展开
-
JZOJ2413. 【NOI2005】维护数列
题目大意维护一个数列,支持以下操作:插入删除修改翻转求和求和最大的子列原创 2016-04-13 11:57:08 · 727 阅读 · 0 评论 -
JZOJ4986. 神秘物质
题目大意给定一个长度为n序列,有m个操作,要求支持动态插入一个数,删除一个数,修改一个位置的数。询问一个区间内所有子区间的最大极差和最小极差。Data Constraint n,m≤100000原创 2017-02-27 22:16:31 · 717 阅读 · 0 评论 -
JZOJ4973. 回合游戏
题目大意给定一个N个点的图,初始图中没有边。有Q个操作,每次操作添加一条权值为w的边,或者删除当前图中一条边。 每次操作后,都会有两个人的在图上轮流取点,若一条边的两个端点都属于同一个人,那么这个人可以获得这个权值的分数。先手希望自己与后手的分差尽可能大;后手希望自己与先手的分差尽可能小,求每次操作完的分差。Data Constraint N,Q≤100000原创 2017-02-20 09:45:00 · 379 阅读 · 0 评论 -
JZOJ4975. 区间
题目大意给定一个长度为n的排列。 求有多少个连续的数字区间[l,r]可以拆成排列中的两个不同区间内的权值并。Data Constraint n≤3×10^5原创 2017-02-20 11:14:51 · 729 阅读 · 0 评论 -
JZOJ4948. 看门狗
题目大意给定一棵n个结点的树(根节点为1),每条边有边权。 求每个点的子树中,满足边数在[Li,Ri]的路径最大的长度是多少。Data Constraint n≤1000000原创 2017-01-24 18:03:28 · 752 阅读 · 0 评论 -
5016. 数列
题目大意给定一个长度为n的数列,依次将数列写在黑板上,每次可以将当前这个数写在已有数列的前面或者后面。求最终得到的数列的最长上升子序列是多长,有多少种方案可以得到这个长度的最长上升子序列。Data Constraint n≤200000原创 2017-03-18 15:59:56 · 387 阅读 · 0 评论 -
ZJOI2017 树状数组
题解可以注意到,假的树状数组实际上是求后缀和。那么对于每个询问,真的树状数组查询的和是[l,r][l,r],假的查询的和是[l−1,r−1][l-1,r-1],它们的区别只有l−1l-1和rr这两个端点。 考虑用一个树套树维护这个东西。第一维是左端点,第二维是右端点。 对于每个修改操作,都在对应地区间上打上保持不变的概率标记。 现在问题是如何合并两个保持不变的概率的标记。设两个概率为别为p1,原创 2017-03-25 12:00:38 · 1363 阅读 · 0 评论 -
Hackerrank World CodeSprint 9 Box Operations
题目大意给定一个长度为n的序列和m个操作。 需要维护区间加,区间除法(下取整)以及查询区间和和区间最小值。Data Constraint n,m≤10^5原创 2017-03-24 08:50:47 · 742 阅读 · 0 评论 -
5049. 腐女的生日
题目大意给定n个平面坐标系上的矩形,保证矩形不会相交且每个矩形周围至少一个单位不会有矩形,求从(0,0)走到(x0,y0)且不经过矩形内部的点的最短曼哈顿距离。Data Constraint n≤105,x0>0原创 2017-04-13 14:30:04 · 834 阅读 · 0 评论 -
5060. 公路建设
题目大意给定n个点,m条边,每条边有边权。 有q个询问,每个询问询问用编号为[li,ri]之间的边构最小生成森林的权值和。Data Constraint n≤100,m≤100000,q≤15000原创 2017-04-18 18:41:55 · 660 阅读 · 0 评论 -
从《NOI2014 魔法森林》看动态树(LCT)的简单应用
题目大意给定一个n个结点,m条边的的无向图,每条边有两个权值ai,bi。 现在从1出发,要到达n,出发时带上任意多的A,B,每次只能沿着ai≤A且bi≤B的边走,问至少要带多少的A,B使得能从1到n。Data Constraint n≤50000,m≤200000原创 2017-01-01 23:31:18 · 2251 阅读 · 1 评论 -
HNOI2017 单旋
题解可以发现,每次单旋最大或者最小值的时候其实就是一个简单的Link/Cut的过程。所以可以用LCT维护树的形态。 现在的问题是如何处理插入操作。仔细观察可以发现,对于当前这个插入的权值为xx的点,设当前存在的权值恰好比xx小的点为aa,当前存在的权值恰好比xx大的点为bb。那么当前这个插入的点最后一定是a,ba,b中深度较大的点的儿子。这个可以用一个set维护。时间复杂度:O(nlogn)O(n原创 2017-04-22 21:58:17 · 444 阅读 · 0 评论 -
BZOJ2002. [Hnoi2010]Bounce 弹飞绵羊
题目大意给定一个长度为n的序列,第ii个位置的绵羊会被弹到i+ki这个位置,若不存在i+ki这个位置,那么这只绵羊就被弹飞。 给定m个操作,询问从某一位置弹飞一只绵羊需要的弹射次数或者修改某一个位置的k值。Data Constraint n≤200000,m≤100000原创 2017-01-11 20:13:13 · 343 阅读 · 0 评论 -
JZOJ4090. 树上三角形
题目大意给定一棵n个节点树(根节点是1),每个点有点权vi,给定q个询问,要求支持三种操作。1 u v 询问树上所有在u到v的简单路径的节点(含u,v)中,是否存在三个不同的节点,使得以这三个节点的点权为边长的三条边能够构成一个三角形。2 u v 将节点u的权值改成v。3 u v 若节点v不在以节点u为根的子树里,那么令u的父节点为v,否则令v的父节点为u,如果u=v那么忽略这一条操作原创 2017-01-02 16:39:54 · 459 阅读 · 0 评论 -
CodeForces 739C Alyona and towers
题目大意给定一个长度为n的序列a和m个操作,每个操作将[L,R]的元素加上d。 每次操作完后询问序列a中最长的连续子序列满足al<al+1<...<ax>...>ar−1>ar的长度是多少。Data Constraint n,m≤3×10^5原创 2016-12-08 15:29:20 · 1279 阅读 · 0 评论 -
GDOI2016 Day2 T3 机密网络
题目大意给一棵环套树,每个点有点权ei,求所有距离≤K的点对数,以及这些点对权值积的和。Data Constraint n≤10^5,K≤n,ei≤10^4原创 2016-05-18 22:56:37 · 703 阅读 · 0 评论 -
JZOJ4605. 【TJOI2016&HEOI2016】排序
题目大意有一个n的排列,进行m次操作,每次操作是将一个区间升序或降序排序。 请你输出m次操作后第q个位置的值。Data Constraint n,m≤100000原创 2016-07-11 22:36:39 · 719 阅读 · 0 评论 -
JZOJ4711. Binary
题目大意 略Data Constraint n,q≤10^5,ai<2^20原创 2016-08-17 19:52:02 · 416 阅读 · 0 评论 -
JZOJ4684.卡牌游戏
题目大意dwx和wwt打牌,一共有2n张牌,所有的牌构成1−2n的排列。现在给出wwt的n张牌和出牌顺序,剩余的牌是dwx的。每轮游戏双方各出一张牌,一开始牌大的人赢,dwx可以选择在任意一轮转换一次规则,使牌小的人赢。问dwx最多能赢多少轮。Data Constraint n≤50000原创 2016-08-17 22:46:39 · 649 阅读 · 0 评论 -
JZOJ4759. 石子游戏
题目大意给定一棵n个节点的树和t个操作。 一开始每个结点有ai个石子。 操作有三种: 对于1操作的询问,两人在以v为根节点的子树上玩Nim游戏。每次一人可以选择从除根节点外的一点取出不超过m个石子到它的父亲,判断先手是否必胜。Data Constraint n,t≤50000原创 2016-09-08 19:07:26 · 488 阅读 · 0 评论 -
JZOJ4727. 挺进
题目大意给定一棵n个点的树,每条边有边权。现在选择一条边将它删除,得到两个联通块,要求最大的联通块直径之和是多少。Data Constraint n≤100000原创 2016-08-22 20:42:33 · 735 阅读 · 0 评论 -
JZOJ4843. 相位幻击
题目大意给定一个n个节点的有根树(根节点为1)树。每个点有一个初始的点权。 给出m个操作,每个操作将点x的子树全部异或上一个y,或者查询x,y路径上的权值异或和。Data Constraint n,m≤200000原创 2016-11-03 12:33:54 · 575 阅读 · 0 评论 -
JZOJ4878. 时空传送
题目大意给定一个n个点m条边的有向无环图,问删掉某个点后最长路最小变成多少。Data Constraint n≤7500,m≤100000原创 2016-11-10 22:49:44 · 359 阅读 · 0 评论 -
JZOJ4883. 灵知的太阳信仰
题目大意给定一个n个元素,每个元素有一个质子数ai和中子数bi。 先要将这些元素分成若干个连续的段。每段里不能存在质子数相同的元素,这个段的代价就是所有段内元素中子数的最大值。 求最小代价和。Data Constraint n≤100000原创 2016-11-12 22:53:08 · 547 阅读 · 0 评论 -
JZOJ3256. 【TJOI2013】松鼠聚会
题目大意给定一个二维平面和平面上的n个点。 求一个点,使得其他所有点到它的切比雪夫距离之和最小。 两点(x1,y1),(x2,y2)间的切比雪夫距离:d=max(|x1−x2|,|y1−y2|)Data Constraint n≤100000原创 2016-11-02 20:02:00 · 471 阅读 · 0 评论 -
JZOJ4918. 最近公共祖先
题目大意给定一棵n个节点的树,根节点是1,每个点有一个点权vi。初始所有点都是白点。 有m个操作:将一个点染为黑点询问一个点u找到除自己外的一个黑点v使得u,v的LCA的权值尽可能大,输出这个权值。Data Constraint n≤100000,m≤200000原创 2016-12-11 09:59:05 · 788 阅读 · 0 评论 -
HNOI2017 影魔
题解记PreiPre_i表示ii前面恰好比ii大的位置,SufiSuf_i表示ii后面恰好比ii大的位置。 对于一个询问[l,r][l,r]考虑将p1,p2p1,p2的贡献分开计算。对于p1p1,要满足max(ki+1,...,kj−1)≤min(ki,kj)max(k_{i+1},...,k_{j-1})\leq min(k_i,k_j),一个位置ii将其当做较小值,那么贡献就是∑ri=l[Pr原创 2017-04-23 08:58:56 · 576 阅读 · 0 评论