2288: [POJ Challenge]生日礼物 Description ftiasch 18岁生日的时候,lqp18_31给她看了一个神奇的序列 A1, A2, ..., AN. 她被允许选择不超过 M 个连续的部分作为自己的生日礼物. 自然地,ftiasch想要知道选择元素之和的最大值.你能帮助她吗? Input 第1行,两个整数 N (1 ≤ N ≤ 105) 和 M (0 ≤ M ≤ 105), 序列的长度和可以选择的部分. 第2行, N 个整数 A1, A2, ..., AN (0…
好像是模拟费用流 Code: #include <bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) #define P pair<int,int> #define ll long long #define maxn 100007 using namespace std; int arr[maxn],l[maxn],r[maxn],mark[maxn]; priority_que…
题目 一道模拟和队列题,但模拟比队列的成分多一些.队列也就是用两个指针模拟的. 可以用枚举的思想.首先我们知道r(即区间的右端点是肯定不会左移的),而l右移的同时,r可能不变,也可能右移,所以这样就可以不用\(O(n^2)\)处理了,剩下的就只剩下模拟的细节. #include <bits/stdc++.h> #include <queue> using namespace std; struct ha { int a, x; }data[1010011]; int n, k, c…
把坐标离散化之后就是很普通的尺取法啦. # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream> # include <vector> # include <queue> # include <stack> # include <map> # include <set> # include <…
题面 因为 n=lcm(a,b)n = lcm(a, b)n=lcm(a,b) ,可以得出: a 和 b 的质因数都是 n 的质因数 对于 n 的每个质因数 x ,在 n 中的次数为 y ,那么 x 在 a 和 b 中至少有一个次数为 y,在另一个中的次数 <=y. 所以我们只要把 n 的每个质因数的次数求出来就好了 即ans=(2a1+1)×(2a2+1)×……×(2an+1). #include <iostream> #include <cmath> #prag…
题面 bzoj 洛谷 题解 看这个题先大力猜一波结论 #include <cstdio> #include <cstring> #include <algorithm> using std::min; using std::max; using std::swap; using std::sort; using std::__gcd; typedef long long ll; template<typename T> void read(T &x)…