
普通nlog(n)数据结构
文章平均质量分 83
KsCla
这个作者很懒,什么都没留下…
展开
-
bzoj1858:序列操作 (线段树区间信息合并)
1858: [Scoi2010]序列操作Time Limit: 10 Sec Memory Limit: 64 MBDescriptionlxhgww最近收到了一个01序列,序列里面包含了n个数,这些数要么是0,要么是1,现在对于这个序列有五种变换操作和询问操作: 0 a b 把[a, b]区间内的所有数全变成0 1 a b 把[a, b]区间内的所有数全变成1 2 a b原创 2017-01-19 20:32:07 · 533 阅读 · 0 评论 -
Tyvj4866:摆摊 (线段树)
题目传送门:http://tyvj.cn/p/4866题目分析:做清北学堂NOIP模拟赛1的时候见到这题,一开始想了好久只会O(Qm−−√log(n))O(Q\sqrt{m}\log(n))的莫队,就是一边做莫队一边用线段树维护最左边的两个空摊位。后来tututu过来看到这题,转了两圈立马就想出了O(Qlog(m))O(Q\log(m))的正解做法……我们先用f[i]f[i]表示a[1]a[1]~a原创 2017-09-26 19:24:22 · 531 阅读 · 0 评论 -
洛谷P1081:开车旅行 (Treap+倍增)
题目传送门:https://www.luogu.org/problem/show?pid=1081题目分析:这题的两个问其实是差不多的。第一问给出了X0,我们枚举起点s,就相当于变成了n个第二类询问(s,X0)(1<=s<=n)(s,X0)(1<=s<=n)。于是现在原问题变成了:给出(s,x),如何快速求s开始往下走不超过x距离时,A,B各走的距离?然后用数据结构预处理出A,B到达每一个点之后会走原创 2017-09-29 21:29:24 · 437 阅读 · 3 评论 -
NOIP2016模拟赛 序 (LIS)
序【问题背景】zhx给他的妹子们排序。【问题描述】zhx有N个妹子,他对第i个妹子的好感度为a i a_i , 且所有a i a_i两两不相等。现在N个妹子随意站成一排,他要将她们根据好感度从小到大排序。他使用的是冒泡排序算法(详见下)。如果排序过程中好感度为a i a_i的妹子和好感度为a j a_j的妹子发生了交换,那么她们之间会发生一场口角。 现在zhx想知道,给定妹子的初始排列,在原创 2017-10-05 00:15:18 · 488 阅读 · 0 评论 -
洛谷P2824:[HEOI2016]排序 (二分答案+线段树)
题目传送门:https://www.luogu.org/problemnew/show/P2824题目分析:这题是我上生物课的时候花20分钟想到的。我们可以像整体二分那样,先枚举一个数作为标准,然后只关心a序列中的每个数比这个标准大还是小,小于等于记为0,大于记为1。假设某一次操作要让一个区间升序排序,我们就用线段树先查一下这个区间有几个0和1,然后用懒惰操作将0放在区间左边,1放在区间右边。降序排原创 2017-11-18 09:38:36 · 536 阅读 · 0 评论 -
LOJ6253:「CodePlus 2017 11 月赛」Yazid 的新生舞会 (线段树)
题目传送门:https://loj.ac/problem/6253题目分析:这题是我做CodePlus11月月赛的时候见到的,当时由于TUOJ太卡,一直被无法提交的问题困扰。导致我写完前两题正解后也没有再写T3T4的暴力。不过我还是看了一下题面,赛后研究了挺久,结果发现还是不会做QAQ(虽然80分的暴力并不需要怎么动脑子)。看了题解后才发现这是道数据结构好题。一种可行的思路是:枚举一个值(如果序列中原创 2017-11-29 09:20:25 · 1010 阅读 · 0 评论 -
洛谷P1295:[TJOI2011]书架 (线段树优化DP)
题目传送门:https://www.luogu.org/problemnew/show/P1295题目分析:这题是我在NOIP之前看到的,那个时候我们机房人人都在刷这题,而我因为在颓,就只好事后填坑啦。 按tututu的话来说,“这题不难想,其实怎么做都可以”,主要是因为有很多单调性。首先O(n2)O(n^2)的DP很好推,记f[i]表示以第i本书为某一层结尾时,书架的最小高度。很明显:f[i]=原创 2017-11-20 17:24:36 · 1154 阅读 · 0 评论 -
BZOJ4826:[Hnoi2017]影魔 (单调栈+扫描线+线段树)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4826题目分析:这题是我在今年4月份省赛前看到的,那个时候想了一下,发现不会做。7个月后的今天,我试图把这个坑填了,然而想了很久还是不会做,最后只好%了一波网上的题解,才发现自己智商低下,思维僵化QAQ。本题的主要思路是转化贡献。由于k是1~n的一个排列,所以如果L+1<<R,(L,R)中必原创 2017-11-27 21:38:54 · 889 阅读 · 0 评论 -
LOJ6299:「CodePlus 2018 3 月赛」白金元首与克劳德斯 (离散化+前缀和)
题目传送门:https://loj.ac/problem/6299题目分析:一道不难的题目,然而比赛的时候只有90pts。由于所有克劳德斯(clouds)一开始都不相交,所以答案不是1就是2。用O(n2)O(n2)O(n^2)暴力判断两朵云是否能相交,就有80pts了。接下来可以直接把判断相交的式子化开,用一些数据结构维护一下,就可以做到O(nlog(n))O(nlog(n))O(n...原创 2018-03-06 19:25:17 · 366 阅读 · 0 评论 -
BZOJ1095:Hide 捉迷藏 && SPOJ Qtree IV (树的三分治/括号序列)
题目传送门: BZOJ1095:http://www.lydsy.com/JudgeOnline/problem.php?id=1095 SPOJ Query on a tree IV vjudge题面:https://cn.vjudge.net/problem/SPOJ-QTREE4#题目分析:看完题就会发现后面那题是前面那题的加强版。这两题都可以用链剖,边分和点分实现。前两种解...原创 2018-03-08 21:20:12 · 378 阅读 · 0 评论 -
COGS2580:[HZOI 2015]偏序 II (三层CDQ分治+树状数组)
题目传送门:http://www.cogs.pro/cogs/problem/problem.php?pid=2580题目分析:又找了一道CDQ分治的裸题,不到30min就切掉了,感觉只要用CDQ分治n维偏序都不成问题…… 这题中序列的每个元素有5个属性:编号,a,b,c,d;我们要求有多少对(i,j)使得i的五个属性都小于j。我们不妨先按编号排序,然后进行第一层CDQ,考虑i在左边,j在右边时对原创 2017-08-28 14:40:54 · 831 阅读 · 0 评论 -
BZOJ1790:[Ahoi2008]Rectangle 矩形藏宝地 (CDQ分治+线段树)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1790题目分析:这题我一开始想了很久,想到平面扫描啊乱七八糟的东西,后来发现其实我们根本不用当每一个藏宝地是一个矩形。如果一个藏宝地i的左下角坐标为(A,B),右上角坐标为(C,D),那么我们就是要查看有没有一个藏宝地的A值小于i的A值,而且其B值小于i的B值,其C,D值分别大于i的C,D值原创 2017-08-26 21:20:00 · 647 阅读 · 0 评论 -
NOIP模拟:水题(1):nlog(n)求逆序对
手套【问题描述】 你现在有N对手套,但是你不小心把它们弄乱了,需要把它们整理一下。N对手套被一字排开,每只手套都有一个颜色,被记为0~N-1,你打算通过交换把每对手套都排在一起。由于手套比较多,你每次只能交换相邻两个手套。请你计算最少要交换几次才能把手套排整齐。【输入】输入第一行一个N,表示手套对数。第二行有2N个整数,描述了手套的颜色。每个数都在0~N-1之间,且原创 2017-01-20 20:11:31 · 1147 阅读 · 0 评论 -
bzoj3744:Gty的妹子序列 (分块+树状数组)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3744题目分析:一看这数据范围:50000,铁定分块+数据结构。然后本人开始YY,先离散化。记录g[i]为每一块内的逆序对个数(每一个g[i]可以用sqrt(n)*log(n)的时间搞定)。然后我们记录f[i][j]为第i块到第j块中的逆序对个数,很明显f[i][j]=g[i]+f[i原创 2017-05-06 10:28:39 · 867 阅读 · 0 评论 -
洛谷P3765:总统选举 (线段树+treap)
题目传送门:https://www.luogu.org/problem/show?pid=3765题目分析:线段树好题!线段树好题!线段树好题!(重要的事情说三遍)在你做这一道题之前,你需要知道一道弱化版的题目的解法:http://www.lydsy.com/JudgeOnline/problem.php?id=2456少女思考中……原创 2017-05-22 15:10:01 · 606 阅读 · 1 评论 -
bzoj2754:[SCOI2012]喵星球上的点名 (后缀数组+离线+树状数组)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2754题目分析:最近两个星期都在做数论题,感觉有些无聊。昨天忽然间想起省赛前还有一个这题的坑没填,于是就过来A这题。算是做道数据结构题愉悦一下身心吧……这题要求我们进行多串匹配,很容易就想到AC自动机,至于字符集0~10000的问题……我们在每一个节点开一棵treap维护有哪些儿子原创 2017-06-13 13:52:27 · 1548 阅读 · 0 评论 -
BestCoder Round #1 解题报告
最近听到SPLAY学长说有一个网站叫BestCoder,题目质量挺不错,而且难度在NOIP提高组水平,比较适合我刷(重点是不像CF那样要翻墙,深夜打比赛,而且它还支持在HDU上提交)。于是我有空跑过去看了看,见到只有6页比赛嘛,于是决定从头开始做……但愿暑假能刷完吧。T1:逃生题目传送门:http://bestcoder.hdu.edu.cn/contests/contest_showproblem原创 2017-07-08 07:27:45 · 728 阅读 · 0 评论 -
hdu5412:CRB and Queries (整体二分+树状数组)
题目传送门:http://acm.hdu.edu.cn/showproblem.php?pid=5412题目大意:现在给出序列A,要求你支持以下两个操作: 1 l v:将l位置的数修改成v 2 l r k:询问l到r的数中第k大的数是多少 多组测试数据。题目分析:这题是我人生中的第一道整体二分题啊。 我们先将每一个1操作变成两个修改操作:Update(l,A[l],-1);Updtae(l,原创 2017-08-08 20:51:28 · 485 阅读 · 0 评论 -
BZOJ3295:[Cqoi2011]动态逆序对 (BIT套treap/CDQ分治+BIT)
题目传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3295题目分析:这题裸的树套树啊。我们先算出原序列的逆序对数量,当一个数被删除的时候,逆序对的减小量=此时在它前面的比它大的数的个数+此时在它后面的比它小的数的个数。于是我们用一个树状数组套平衡树就可以搞定了。CODE(BIT+treap):#include<iostream>#inclu原创 2017-08-13 20:20:39 · 429 阅读 · 0 评论 -
circle (容斥原理+数据结构)
题目大意:在一条直线上有2*n个点,点与点之间两两配对成n组。现在要你选出三组点对,使得这三组点对满足112233,122331,123123的其中一种形式,问方案数。n≤105n≤105n\leq 10^5。题目分析:多年前的老坑,昨天晚上想填一下,发现还是不会做,而且我还是看不懂题解。懵逼了一整晚,最后翻出标程来看,终于看懂了做法。从n个点对中选取3个点对,有C3nCn3C_n^3...原创 2018-03-29 10:56:47 · 1443 阅读 · 0 评论