随笔分类 -  数据结构

1 2 3 4 5 ··· 10 下一页
摘要:最近学校里很多题目都没时间做,顺便来写一下博客 斜率DP十连: A[征途] 注意到,原题的式子,等价于m∑ai2−(∑ai)2" role="presentation">m∑a2i−(∑ai)2m∑ai2−(∑ai)2后... 阅读全文
posted @ 2018-08-13 00:00 扩展的灰(Extended_Ash) 阅读(231) 评论(0) 推荐(0)
摘要:题目看这里 又是一个七级题目 妥妥的分治啊,枚举右端点,左边分两段计数就好啦~ 关于标解: 网上好像很多都是前缀和+二分之类的,反正应该差不多快吧 #include#include#include#define N 300010#define LL long lon... 阅读全文
posted @ 2018-08-01 14:16 扩展的灰(Extended_Ash) 阅读(124) 评论(0) 推荐(0)
摘要:题目看这里 无比暴力的大分块,极端不优美 听说很多人用莫队水过去了,我还是被最后一个点卡WAing(本地都过了) 说下解法: 首先,将整个序列分块,分成n" role="presentation">n−−√n块 将区间分成三个部分:前面多出来的+中间若干整块+后面多... 阅读全文
posted @ 2018-08-01 09:05 扩展的灰(Extended_Ash) 阅读(190) 评论(0) 推荐(0)
摘要:题目点这里 一个非常好玩的题目 一开始各种推结论没有推出来,后来看到一位大佬提到“凸包”突然明白 首先去掉所有两项速度都比某个人慢的那些,让后开始分析剩下的人 我们设函数Ti(x)=x/ri+1/si" role="presentation">Ti(x)=x/... 阅读全文
posted @ 2018-07-26 17:55 扩展的灰(Extended_Ash) 阅读(135) 评论(0) 推荐(0)
摘要:题目看这里 (为什么xhEditor不能支持字体了,不管了,那就用markdown吧) 一个非常有意思的题目,首先考虑离线做法,把所有的询问按照l排序,所有的边倒序插入整个树中 我们需要维护两个东西: 1.f[x][i]表示当整颗树有[x,f[x][i]]这一个区间... 阅读全文
posted @ 2018-07-25 17:59 扩展的灰(Extended_Ash) 阅读(118) 评论(0) 推荐(0)
摘要:题目看这里一道比较简单的贪心题容易想到从前到后确定每一位我们可以用一个splay来维护当前未确定的部分的顺序假设当前剩下k次操作机会那么我们可以求出splay中前k+1个元素中的最大元素i,令k减少rank(i),让后将其输出并从splay中删掉最后k=0时,输出sp... 阅读全文
posted @ 2018-04-27 22:04 扩展的灰(Extended_Ash) 阅读(143) 评论(0) 推荐(0)
摘要:题目看这里各种求和最好玩的啦看到题目就应该知道要单独考虑每个元素的贡献那么一个元素i的贡献肯定是a[i]*(l[i]-i)*(i-r[i]),这里l,r分别表示左边和右边第一个比i大的数的位置最大值部分的贡献算完了最小值是类似的考虑怎么求这个l和r,直接上单调栈就可以... 阅读全文
posted @ 2018-04-27 17:38 扩展的灰(Extended_Ash) 阅读(117) 评论(0) 推荐(0)
摘要:题目看这里+一看求和就知道是要先用前缀和的让后看到类似相等和不相等的条件,可以考虑并查集当然这道题由于变量的值一定是0,1所以关系只有不等号也有反传递性,可以直接拆点来做如果s[i]=s[j]那么我们就将i,j所在的并查集合并,将i'和j'所在的并查集合并否则我们将i... 阅读全文
posted @ 2018-04-27 17:30 扩展的灰(Extended_Ash) 阅读(184) 评论(0) 推荐(0)
摘要:题目看这里想到了NOIP普及组当年那道题做法非常显然,O(n^2)枚举矩形的上下边界,让后用一个dp+前缀和就搞定了f[i]表示以第j列作为结尾的最大子矩形的宽,那么如果第i列在[l,r]的范围都是1,那么f[i]=f[i+1],否则f[i]=0答案就是max{(r-... 阅读全文
posted @ 2018-04-27 17:20 扩展的灰(Extended_Ash) 阅读(165) 评论(0) 推荐(0)
摘要:终于又遇到SAM的题了好好玩,而且就这道题让我弄清楚了广义SAM和Trie上SAM的区别其实两者是没有多少区别的,不过Trie上SAM可以更快关于Trie上SAM,是用bfs的方法来构建的,相比起广义SAM用dfs建少了一个深度之和的部分但是如果原题给的就是Trie那... 阅读全文
posted @ 2018-04-20 21:18 扩展的灰(Extended_Ash) 阅读(174) 评论(0) 推荐(0)
摘要:平衡树的问题,很容易想到中序遍历那么我们给每一个节点记录一下中序遍历中它子树所在的区间,一次旋转显然只会改变两个节点的值对于询问我们用线段树区间求积就可以了#pragma GCC optimize("O3")#pragma G++ optimize("O3")#inc... 阅读全文
posted @ 2018-04-20 20:50 扩展的灰(Extended_Ash) 阅读(120) 评论(0) 推荐(0)
摘要:前文再续,书接上回,话说神牛yxr成功培育出神牛细胞,可最终培育出来的生物体却让他大失所望……后来,他从某GD女神 牛处知道,原来他培育的细胞发生了基因突变,原先决定神牛特征的基因序列都被破坏了,神牛yxr很生气,但他知道基因突变有低频性,说不定还有一些优秀基因没有突... 阅读全文
posted @ 2018-04-20 20:40 扩展的灰(Extended_Ash) 阅读(161) 评论(0) 推荐(0)
摘要:这道题非常有意思首先我们可以发现,对于一个合法的三元组我们可以找到一个大小小于3的下标集合S与之对应那么我们就来考虑找到所有合法的这样的S当|S|=1时,显然都是成立的当|S|=2时,我们只需要保证s中两个元素i,j不满足a[i]#include#includeusi... 阅读全文
posted @ 2018-04-20 20:17 扩展的灰(Extended_Ash) 阅读(177) 评论(0) 推荐(0)
摘要:给定一个长度为 n 的正整数序列 a 1 ...a n . 现在有 m 次操作, 分为两种:• 1 l r t: 将区间 [l,r] 降序排序 (t = 0) 或升序排序 (t = 1)• 2 l r: 询问区间 [l,r] 内元素之积的十进制下最高位雅礼集训的题目,... 阅读全文
posted @ 2018-04-17 20:18 扩展的灰(Extended_Ash) 阅读(216) 评论(0) 推荐(0)
摘要:题目看这里我们发现需要动态维护一个字符串是否成周期根据border的一个简单性质,得出周期串的充分必要条件是,如果a[i..k]=a[j-k+1..j] 那么a[i..j]是以k为周期的串于是可以用线段树来维护哈希莫名其妙rank1..#include#include... 阅读全文
posted @ 2018-03-22 22:06 扩展的灰(Extended_Ash) 阅读(181) 评论(0) 推荐(0)
摘要:题目点这里漏写博客好多天了,赶快来补这道题是一个裸的模拟题,注意到纸片总长度不会增加,所以用一个带翻转的splay来维护一下每次将前半段翻转和后一段做加法合并就好了,均摊logn#pragma GCC opitmize("O3")#pragma G++ opitmiz... 阅读全文
posted @ 2018-03-22 21:34 扩展的灰(Extended_Ash) 阅读(184) 评论(0) 推荐(0)
摘要:题目看这里经典的区间xor最大值问题很久以前就知道做法所以来写一写,可持久化trie意外地发现好写而且跑得很快#pragma GCC opitmize("O3")#pragma G++ opitmize("O3")#include#include#include#de... 阅读全文
posted @ 2018-02-27 21:56 扩展的灰(Extended_Ash) 阅读(163) 评论(0) 推荐(0)
摘要:题目看这里这个题好像在哪里做过。。。但是翻不到基本思想:在最高位不同的两个集合里只能有一条边相连我们可以用trie来做,每次到一个节点,就在他的两个儿子里找xor值最小的加到答案里若有超过2个权值相同的点时,计算方案的方法为x^(x-2),这个是完全图的生成树个数公式... 阅读全文
posted @ 2018-02-22 22:29 扩展的灰(Extended_Ash) 阅读(165) 评论(0) 推荐(0)
摘要:题目看这里我们考虑怎样得到最大答案首先对原序列进行括号配对,没有配对上的那些可以直接扔掉不影响答案让后我们有一个合法的括号序列当一对括号与区间有相交但是不包含整个区间时,将会产生一个位置的浪费(在区间内的那个左括号或者右括号没法配对了),所以答案-1那么一个区间的答案... 阅读全文
posted @ 2018-02-22 21:41 扩展的灰(Extended_Ash) 阅读(134) 评论(0) 推荐(0)
摘要:V1N个整数组成的序列a[1],a[2],a[3],…,a[n],将这N个数划分为互不相交的M个子段,并且这M个子段的和是最大的。如果M >= N个数中正数的个数,那么输出所有正数的和。N,M= N个数中正数的个数,那么输出所有正数的和。 N,M=N个数中正数的个数,... 阅读全文
posted @ 2018-02-21 00:07 扩展的灰(Extended_Ash) 阅读(505) 评论(0) 推荐(0)

1 2 3 4 5 ··· 10 下一页