尺取法/双指针
Anxdada
多读书多看报, 少吃零食多睡觉
展开
-
尺取法的小讲解
例题 poj– 3061 //大概思路: 用两个指针不断去缩小范围, 知道我们所需要的最优答案出现. 一种思想, 需要多想想. //比如说上面这道题: 题意就是求在给定的序列中长度最小的子串, 并且该串的和要不小于所给的S. //思路大概就是尺取法: 附上一张图. 黄色部分就是尺取的部分, 可以发现我们一定经历过最优解.AC Codeconst int maxn=1e5+5;int n原创 2017-08-11 10:57:09 · 475 阅读 · 0 评论 -
2017 Multi-University Training Contest - Team 6 1008 Kirinriki【思维题 + 尺取】
传送门 //题意: 在给定的一个串中找出两个不重叠且长度相等的两个子串, 并这连两个串的dis要小于所给的那个数. dis为题目中的定义. //思路:由于不确定性, 所以我们可以采取枚举的方法. 因为连个串的长度是相等的, 两个串往中心延展, 一定会形成一个对称轴. 所以我们就可以采取枚举对称轴的方法来做. 枚举每一个前缀, 而我们可以发现每一个前缀它的对称轴都是靠左的, 那么有一些串我们就枚原创 2017-08-11 16:18:14 · 335 阅读 · 0 评论 -
HDU - 6025 card card card 【双指针 + 尺取】
传送门 //题意: 问最少从哪个位置起(包括本身) , 将这些数字对移动到最后”接着”, 使得可以将所有的牌拿完, 拿相应上一堆的数要付出下面那么多数的代价. 中途不允许出现小于0的情况. //思路: 直接算出最后的序列(c[i] = a[i] - b[i] ), 然后复制一段到后面, 用双指针进行尺取, 取得最大长度的和不小于0的序列就是我们要的答案. 想这种题就一定要维护好边界情况!!!!原创 2017-09-11 01:06:19 · 319 阅读 · 0 评论 -
POJ - 3162 Walking Race 【树上最远距离 + 线段树处理区间最值 + 尺取法 】
传送门 //一棵树, wc第i天从第i个节点开始跑, 记录一个最大值., 然后可以获得n个最大值, 然后从中选取连续的尽可能长的天数使得其中的最大值 - 最小值 <= m 问这个最大的天数是多少.//思路: 每个点的最大值可由树的直径求出, 然后问题转变为给你一串数字, 从中选取最长的区间, 使得其中的最大最小值之差<=m, 所以处理区间问题当然是用线段树呀, 然后进行尺取, 双指针i,j, 一起原创 2017-10-13 11:14:05 · 424 阅读 · 0 评论 -
fjut 1210 集训队的字符串 【two pointer】
传送门题意: 就是给定一个包含a, b, c的字符串, 每次可以删去该字符串第一个字符和最后一个字符, 问最少包含a, b, 一个的最短字符串有多长.思路: 很明显的双指针问题, 每次取到一个满足条件的就取一取ans, 当然双指针问题最难的部分就是在于控制好边界条件, 每次边界条件是最难处理的, 所以我们处理时要时刻记清楚自己取的是l, r表示的哪一部分, 即那方是闭区间, 那方是开区间…...原创 2018-03-30 11:11:47 · 229 阅读 · 0 评论