![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
-------------------ACM+算法-------------------
ke_yi_
这个作者很懒,什么都没留下…
展开
-
防线(Defense Lines,ACM/ICPC CERC 2010 UVa1471)
题目大意:给一个长度为n(n<=200000)的序列,你的任务时删除一个连续子序列,使得剩下的序列中有一个长度最大的连续增子序列。预处理得到g[i](表示a[i]结尾的最长连续增序列)f[i](表示a[i]开头的最长连续增序列),用set存a[i],g[i],然后通过f[i]找最优的a[j],g[j]。// UVa1471 Defense Lines// Rujia Liu...原创 2018-08-20 15:53:05 · 700 阅读 · 0 评论 -
RMQ
RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值。本文介绍一种比较高效的ST算法解决这个问题。ST(Sparse Table)算法可以在O(nlogn)时间内进行预处理,然后在O(1)时间内回答每个查询。 1)预处理设A[i]...转载 2018-07-27 17:20:33 · 158 阅读 · 0 评论 -
二叉树的宽度
二叉树的宽度就是每一层的宽度的最大值要求二叉树的宽度,不许先求出每一层的宽度,求每一层的宽度必须知道每一层的元素作为初学的我,看到树本来就是从括号表示来的,所以我在这里借助里开始时候的树的括号表示的字符串,对每一个元素都在字符串中查找并进进行括号匹配返回留下有括号的个数就是树的节点的层次。其实,我的最外面的一层循环就是层次查找,所以每一次都是将同一层的元素放在一块。int Wid...原创 2017-08-07 19:41:43 · 1246 阅读 · 0 评论