随笔分类 -  数据结构 -- 线段树

摘要:link 我们可以很容易的推断出$-1$是单调不降的,若$i>j$且$a_i$与$a_j$都没有填数,若填完之后$a_i>a_j$或者$a_i<a_j$,则对答案产生影响的只在$[i,j]$之间,则$a_i<a_j$对答案产生的贡献更小,则其实每个不同位置的$-1$其实是互不影响的,所以就可以用$d 阅读全文
posted @ 2018-11-05 09:45 siruiyang_sry 阅读(221) 评论(0) 推荐(0)
摘要:题目 题解 T1: 简单$bfs$或者跑个最短路即可 #include<iostream> #include<cstring> #include<cstdio> #include<cmath> #include<queue> #include<algorithm> using namespace s 阅读全文
posted @ 2018-11-02 19:29 siruiyang_sry 阅读(204) 评论(0) 推荐(0)
摘要:主要是怎么处理矛盾 矛盾的条件有$2$种: 第一种是当把所有相等的$a$都全部找到后,他们并没有全联通,所以矛盾,因为没有两个是相同的 第二种是在2组$(l,r,a)$,$(l1,r1,a1)$中,$a<a1$并且$(l,r)$ 包含在$(l1,r1)$,矛盾 所以怎么去维护,第一种直接暴力查询,第 阅读全文
posted @ 2018-11-01 16:26 siruiyang_sry 阅读(173) 评论(0) 推荐(0)
摘要:link 建一棵线段树,一个节点维护$4$个东西,最大前缀和,最大后缀和,最大连续和,总的权值和,先说最大前缀和怎么进行维护,我们只需看一看左儿子的最大前缀和,但是有可能终点不止包含左节点的所有,还有可能有右节点的最长前缀和,所以就将左儿子的所有权值加上右儿子的最长前缀和,然后其他都是这样处理。在查 阅读全文
posted @ 2018-10-26 19:21 siruiyang_sry 阅读(298) 评论(0) 推荐(0)
摘要:link 线段树优化建图,再跑$tarjan$已成$DAG$,然后反跑拓扑排序即可,因为最小的反倒是连边连的最多的地方,即使方向两边入读为$0$的点,然后在随便跑个计数$dp$即可 #include<iostream> #include<cstdio> #include<cstring> #incl 阅读全文
posted @ 2018-10-25 15:44 siruiyang_sry 阅读(222) 评论(0) 推荐(0)
摘要:题目 W神爷的题解 高级数据结构 T1: 其实是一道easy题,$O(n^3log n)$ 也是能卡过去的,本着要的70分的心态,最后尽然A了。 如果是正解则是$O(n^3)$,当确定你要选择的列时,不断往下扩展,因为此刻是单调函数,所以可以用单调队列优化。 #include<iostream> # 阅读全文
posted @ 2018-10-22 20:58 siruiyang_sry 阅读(174) 评论(0) 推荐(0)
摘要:题目pdf T1: 考场上被读题搞蒙,最后才写,但是尽然AC了(只有一个任务点) 最后发现就是将去时的秒数加上回来的秒数除以二即可 易证 主要考的是读入优化 怎么处理掉每行后面的(+1 +2) read瞎搞搞即可 T2: 考场上脑袋抽筋想着用后缀和维护 但是并没有打完 最后弃疗 发现自己想少了 不仅 阅读全文
posted @ 2018-10-21 15:32 siruiyang_sry 阅读(194) 评论(0) 推荐(0)
摘要:题目传送门 W神爷的题解 数论 小 M 的算式 【问题描述】 小 M 在做数学作业的时候遇到了一个有趣的问题:有一个长度为 n 的数字 串 S,小 M 需要在数字之间填入若干个“+”和恰好一个“=”,使其成为一个 合法的等式。如对于 S=“2349”,可以通过添加 2个“+”和 1 个“=”成为 “ 阅读全文
posted @ 2018-10-15 21:03 siruiyang_sry 阅读(238) 评论(0) 推荐(0)