金发姑娘和 N 头牛
给定n头奶牛舒适的温度区间,求温度为多少时,能让舒服的奶牛的数量最大化。并且同时给出低温产奶量,适温产奶量,高温产奶量,求最大产奶量。
思路:将所有的舒适区间离散化后,用线段树做区间加法,每一头奶牛对应的舒适区间+1,再从1到n遍历一遍,最大值就是舒服奶牛的最大数量。
同理,低温区间,适温区间,高温区间也用线段树做区间加法,最后求最大值,就是最大产奶量了。
#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 200000 + 5, mod = 1e9 + 7;
int a[N];
int p[N], q[N];
int b[N];
struct node{
int l, r;
int val;
int add;
#define l(x) tree[x].l
#define r(x) tree[x].r
} tree[N * 4];
void build(int p, int l, int r)
{
tree[p].l = l, tree[p].r = r;
if (l >= r) {
tree[p].val = a[l];
return;
}
int mid = (l + r) >> 1;
int chl = p * 2, chr = p * 2 +

最低0.47元/天 解锁文章
224

被折叠的 条评论
为什么被折叠?



