![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
线段树
alpc_paul
这个作者很懒,什么都没留下…
展开
-
HDU 5239 DOOM 线段树
HDU 5239 DOOM 线段树标签(空格分隔): 线段树题目链接:hdu5239 题意:给定长度为N的序列,有Q个操作,每次操作询问区间[l,r]的和,并将区间的值平方,每次输出所有之前查询答案的和对2^63-2^31取模。 思路:找规律发现任何数平方30次之后模mod都不再变化。于是用线段树维护区间内平方次数最少的元素为多少,弱最小的大于30则不进行操作,直接返回区间和,反之则继续递归直至原创 2015-07-27 12:43:39 · 1002 阅读 · 0 评论 -
HDU 5324 Boring Class 树套树 或 CDQ分治
HDU 5324 Boring Class 树套树 或 CDQ分治题目链接:HDU 5324 题意: 给定两个序列,求一个最长的公共子序列使得第一个子序列递减,第二个递增。 思路: 将L数组的下标排序并从小到大插入,维护一个满足R的最大DP值的位置。二维。如果内存够大可以,线段树套线段树,可以用线段树套SPLAY。 代码:#include <cstdio> #include <cstrin原创 2015-08-01 14:18:11 · 1155 阅读 · 0 评论 -
HDU 5338 ZZX and Permutations 线段树
题目链接:HDU 5338 题意:给一个去掉括号的置换半成品,问如何加括号可以使原序列字典序最大。 思路: 思路很明确 1、肯定是贪心的考虑使靠前位置的尽量大。 2、那么就找从当前位置到之前的右括号之间最大的值与后继进行比较。 括号直接用SET维护就可以了,最大值用线段树维护。比赛的时候SB用线段树维护的右括号位置,幸亏范围小。 代码:#include <cstdio>原创 2015-08-01 14:31:48 · 857 阅读 · 0 评论