To 洛谷.2879 区间统计 题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with th…
传送门 题目大意: n头牛,其中最高身高为h,给出r对关系(x,y) 表示x能看到y,当且仅当y>=x并且x和y中间的牛都比 他们矮的时候,求每头牛的最高身高. 题解:贪心+差分 将每头牛一开始都设为最高高度. 每一对关系(x,y),我们将[x+1,y-1]这个区间的身高变为 min(x,y)-1.这样是不对了.因为要维护[x+1,y-1]这个区间里 各个元素的大小关系,所以要将[x+1,y-1]的元素身高都减1. 一开始我是用线段树做的,后来发现题解用的差分. 没有询问的区间修改,差分做就好了…
P2879 [USACO07JAN]区间统计Tallest Cow 差分 对于每个限制$(l,r)$,我们建立一个差分数组$a[i]$ 使$a[l+1]--,a[r]++$,表示$(l,r)$区间内的数至少比$l,r$小$1$ 最后统计下前缀和,顺便把最大高度加上去. 记得判重. (逃一节晚自习真chiji) 不写了,放风时间到了. #include<iostream> #include<cstring> #include<cstdio> #include<alg…
题目描述 FJ's N (1 ≤ N ≤ 10,000) cows conveniently indexed 1..N are standing in a line. Each cow has a positive integer height (which is a bit of secret). You are told only the height H (1 ≤ H ≤ 1,000,000) of the tallest cow along with the index I of tha…
题目链接: https://www.luogu.org/problemnew/show/P2879 思路: 先不管最大高度,我们读入一对x,y.说明,x+1~y-1之间牛的身高都小于x,y. 然后不妨将这个区间打个标记-1.所有操作后,可知最高的那个牛它的标记一定是0,并且标记数量与身高排名正相关,于是再将所有奶牛的标记数加上最高身高h就是可能的最大身高. 因为之前的操作保证标记的数量是按着身高排名来的,加上最大身高当然是最大可能身高. 然后我们是要将x+1~y-1打标记,根据差分数组的思维,就…
前缀和 sum[i]表示前i个数的和 每次读入a[i]的时候 sum[i] = sum[i - 1] + a[i]; 查询l ~ r区间的和: sum[r] - sum[l - 1] 差分 即前缀和的修改操作 我们定义pre[i]表示前i个数需要改变的值 则对一个区间l ~ r + k的操作是 pre[r] + k; pre[l - 1] - k; 则多算的1 ~ l - 1部分就抵消,等价与l ~ r + k; 本题中同一关系可能给出多次,需用map或hash判重 #include<iostr…
https://www.luogu.org/problemnew/show/P2879 差分 | 线段树 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; ; #define gc getchar() struct Node {int l, r;}A[N]; int n, my, Maxh, R; int H[N]; inline int read() { ;…
洛谷P1712 [NOI2016]区间 noi2016第一题(大概是签到题吧,可我还是不会) 链接在这里 题面可以看链接: 先看题意 这么大的l,r,先来个离散化 很容易,我们可以想到一个结论 假设一个点被覆盖次数大于m 我们将覆盖这个点的区间升序排序: 则所选区间一定是排序后序列中的一个长度为m+1的连续子序列 证明很容易,取更远的点会使最大值更大从而使差值最大 我们可以从这个结论出发,再观察该题所求,符合尺取法的思路 我们考虑用尺取法求解 没了解尺取法的读者可以去自行了解一下 如何求解呢?…
洛谷 1063 dp 区间dp 感觉做完这道提高组T1的题之后,受到了深深的碾压,,最近各种不在状态.. 初看这道题,不难发现它具有区间可并性,即(i, j)的最大值可以由(i, k) 与 (k+1, j)得到.考虑使用区间dp 题目中项链为环形,所以在2 * n的区间上进行操作 设dp[i][j],表示区间(i, j) 的最大值 转移为 dp[i][j] = max(dp[i][j], dp[i][k] + dp[k+1][j] + pre[i] * succ[k] * succ[j]); 老…
BZOJ5259/洛谷P4747: [Cerc2017]区间 2019.8.5 [HZOI]NOIP模拟测试13 C.优美序列 思维好题,然而当成NOIP模拟题↑真的好吗... 洛谷和BZOJ都有,就不设密码了. 首先,手玩样例可以发现满足条件的区间是不满足单调性的,所以二分左右端点.单调队列.双指针什么的就不可能了. 然后不会了... 不难看出,一段满足要求的区间[L,R],符合\(val_{max}-val_{min}=R-L\),val是数值. 50pts暴力:对val建st表,每次询问枚…