
尺取法
stdwal
天演在化,功成在学。知海无涯,见花问道。
展开
-
POJ3061-Subsequence
首先是一个nlogn的解法:#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 100000+5;int num[maxn];int sum[maxn];int main(int argc, char const *argv[]) { int t;原创 2016-07-29 19:19:15 · 216 阅读 · 0 评论 -
POJ3320-Jessica's Reading Problem
反复推进区间的开头和末尾,来求取满足条件的最小区间的方法叫做尺取法。 这道题就可以用尺取法很好的求解。#include <cstdio>#include <set>#include <map>#include <algorithm>using namespace std;const int maxp = 1000000;int a[maxp];int main(int argc, char原创 2016-07-30 08:46:40 · 239 阅读 · 0 评论 -
POJ2739-Sum of Consecutive Prime Numbers
只要用尺取法就能轻松秒过!#include <cstdio>const int maxn = 10000;int prime[maxn];bool is_prime[maxn+1];int sieve(int n) { int p = 0; for (int i = 0; i <= n; i++) { is_prime[i] = true; } is原创 2016-08-02 14:44:15 · 238 阅读 · 0 评论 -
POJ2100-Graveyard Design
给定一个数要求所有能够构成连续整数平方和的方法。 以1-sqrt(n)为区间用尺取法解决。 区间[s,t),s和t要用long long,用int就会TLE,不知道是为什么….#include <cstdio>#include <cmath>#include <vector>using namespace std;vector<pair<int, int> > v;int main(int原创 2016-08-02 16:01:00 · 389 阅读 · 0 评论 -
POJ2566-Bound Found
给定一串数组和一个值,找出一段连续的子列使它们和的绝对值离这个值最近。#include <cstdio>#include <cstdlib>#include <algorithm>using namespace std;const int maxn = 100000 + 10;typedef pair<int, int> P;int a[maxn];P sum[maxn];int main(i原创 2016-08-13 13:28:06 · 390 阅读 · 0 评论