其他方法技巧
nbl97
这个作者很懒,什么都没留下…
展开
-
hdu6103 Kirinriki(尺取法)
题意:在一个长度为 n 的字符串中找两个长度相同、不重叠的子串,这两个子串的距离不超过 m 。求出子串的最长长度。两个子串的定义: disA,B=∑n−1i=0|Ai−Bn−1−i|dis_{A,B} = \sum_{i=0}^{n-1}|A_i - B_{n-1-i}|。分析:比赛时的思路是二分答案。可在判断每个二分值上没想出好办法,只能枚举两个起点,再算距离。这样是O(n^3)的复杂度。显然不原创 2017-08-11 16:01:33 · 268 阅读 · 0 评论 -
hdu5033 Building(单调栈)
题目:在横轴上,给出 n 栋楼(只有高度没有宽度)的位置和高度,再给出m个人的位置,问每个人看天空最大的角度是多少。分析:用单调栈+离线查询。 首先可以确定,能影响视野的不一定是两侧最高的楼。确定了这点之后,需要搞清楚什么情况下影响视野的不是最高楼。 只有这样的情况下,右边的人往左看的时候有可能是低楼影响视野。所以我们用单调栈维护一个高度递减但是相邻点斜率绝对值递增的集合,对于这些点右边的人原创 2017-11-23 01:27:26 · 370 阅读 · 0 评论