
尺取模型
林伏案
妖蛾子良多的范老爷
展开
-
poj2566(尺取模型)
/* translation: 给出一串数列,求其中最接近t的一个子串之和是多少? solution: 尺取法。 这道题不能直接对原数组采用尺取,因为原来的数组有正有负。而尺取法使用的条件就是在推进的过程中的单调性, 如果对原数组直接采取尺取,由于原数组正负数都有,导致在推进过程中尺取的和有增加也有减少。故不能采取尺取。 所以考虑对前缀进行排序后,再进行尺取即可。 note: date:原创 2016-11-13 22:26:43 · 673 阅读 · 0 评论 -
poj2739(尺取模型)
/* translation: 给出一个数,求有多少种用连续的素数之和来表示该数的方法。 solution: 尺取法。 预处理筛出数据范围内的所有素数,然后将其存进数组里面,在这个数组的基础上使用尺取即可。 note: date: 2016.11.13 */ #include #include #include using namespace std; const int maxn原创 2016-11-13 22:28:31 · 308 阅读 · 0 评论 -
poj2100(尺取模型,总结)
/* translation: 给出一个数,求一系列连续的数字使得它们的平方和等于这个数 solution: 尺取法即可 note: #: 这道题有以下几个坑。一是L和R要从1开始,二是判断循环结束时我用了while(R*R<=n&&L*L<=n) 正确姿势是只判断L,因为R有可能在最后一次循环中超出n。 *: 尺取法的总结: 尺取法本质上是将一个区间不断向前推进,以期获得解的过原创 2016-11-14 20:22:06 · 584 阅读 · 0 评论 -
la2678(前缀和,二分/尺取法)
/* translation: 有n个正整数组成一个序列。给定整数s,求长度最短的连续序列,使得他们的和大于等于s solution: 前缀和,尺取法/二分 这道题可用尺取法或者二分法。 无论是尺取还是二分,都要求出前缀和。用二分法时,枚举起点,然后二分查找满足条件的 终点,同时更新维护答案即可。(根据前缀和的单调性) 如果用尺取法的话,就是最简单的原创 2017-03-11 15:09:49 · 711 阅读 · 0 评论