数据结构
文章平均质量分 61
la1la1la_
i am single
展开
-
bzoj2138
题意: 话说Nan在海边等人,预计还要等上M分钟。为了打发时间,他玩起了石子。 Nan搬来了N堆石子,编号为1到N,每堆包含Ai颗石子。每1分钟,Nan会在编号在[Li,Ri]之间的石堆中挑出任意Ki颗扔向大海(好疼的玩法),如果[Li,Ri]剩下石子不够Ki颗,则取尽量地多。为了保留扔石子的新鲜感,Nan保证任意两个区间[Li,Ri]和[Lj,Rj] ,不会存在Li<=Lj & Rj<=Ri的情原创 2017-02-24 22:02:56 · 806 阅读 · 0 评论 -
GYM100524 H
题意: 给一棵n个点二叉树,要求支持删除叶节点同时维护轻重链剖分。m表示依次删除m个叶节点,删除每个节点后输出重孩子的标号和。 m< n<=200000#include<cstring>#include<cstdlib>#include<cstdio>#include<cmath>#include<iostream>#define N 210000#define LL long lo原创 2017-04-11 19:24:05 · 427 阅读 · 0 评论 -
CF765 F
题意: 给一个长度为n序列。m个询问(l,r),询问min(abs(ai-aj))(l<=i< j<=r)。 n<=10^5 m<=3*10^5 题解: 膜了题解。。 讨论右端点较大的情况,左端点较大同理 考虑右端点右移,维护所有左端点答案 当移到位置i时,需要用ai去更新答案 先找到离i最近的一个j,使ai>aj,这时ai-aj能用来更新[1,j] 再考虑j前面的一个k(j>k原创 2017-02-20 17:56:35 · 672 阅读 · 0 评论 -
bzoj4453
题意: 给你一个字符串,每次询问你一段区间的字典序最大的子串。 1<=|S|<=100000 1<=Q<=100000 1<=l<=r<=|S| 题解: 我的方法好复杂啊 先做出后缀数组,考虑离线按r从小到大做 先考虑对于单独一个询问,哪些位置可以成为答案? 显然是一个位置递增,rk也递增的队列。那么对于队列中的元素i,j(i< j),什么时候j比i优呢?显然是询问的r>=j+lc原创 2016-12-25 16:57:45 · 530 阅读 · 0 评论 -
bzoj4527
题意: 我们称一个数列为一个好的k-d数列,当且仅当我们在其中加上最多k个 数之后,数列排序后为一个公差为d的等差数列。 你手上有一个由n个整数组成的数列a。你的任务是找到它的最长连续子 串,使得满足子串为好的k-d数列。 1<=n<=200000;0<=k<=200000;0<=d<=10^9 题解: 特判d=0 对于d!=0,模d的余数相同的子串才能作为答案。对d同余子串一个个处原创 2016-12-20 13:30:10 · 552 阅读 · 0 评论 -
bzoj3533
题意: 维护一个向量集合,在线支持以下操作: A x y (|x|,|y| < =10^8):加入向量(x,y); Q x y l r (|x|,|y| < =10^8,1 < =L < =R < =T,其中T为已经加入的向量个数)询问第L个到第R个加入的向量与向量(x,y)的点积的最大值。 集合初始时为空。强制在线。 1 < =N < =4×10^5 题解: 先推一发点积的式子(虽然原创 2016-11-05 09:10:55 · 461 阅读 · 0 评论 -
bzoj3711
题意: 体育课上,n个小朋友排成一行(从1到n编号),老师想把他们分成若干组,每一组都包含编号连续的一段小朋友,每个小朋友属于且仅属于一个组。 第i个小朋友希望它所在的组的人数不多于d[i],不少于c[i],否则他就会不满意。 在所有小朋友都满意的前提下,求可以分成的组的数目的最大值,以及有多少种分组方案最大,对10^9+7取模。 1<=n<=1000000 题解: 这题太神啦。。 我原创 2017-02-07 22:45:22 · 1048 阅读 · 2 评论 -
bzoj1290
题意: 对于100%的数据, N ≤ 500000, Q ≤ 109, 1≤ A, B ≤ Q。题解: 看完题后我想起了这道http://codeforces.com/problemset/problem/280/E 都是单峰,这题还是一次的,不过不能写O(n2)O(n^2)的了 好吧。。平衡树肝吧。。 %claris有一种很厉害的做法。。看不懂,似乎因为xi递增极值点也是递增的?原创 2017-02-24 12:32:48 · 388 阅读 · 0 评论