BZOJ1067 [SCOI2007]降雨量 RMQ???】的更多相关文章

求救!!!神犇帮我瞅瞅呗...未完...调了2个半小时线段树,没调出来,大家帮帮我啊!!! 小詹用st表写. 我的思路就是把中间空着的年份设为无限,然后一点点特判就行了...然而没出来... [SCOI2007]降雨量 题干: Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890, 则可以…
[BZOJ1067][SCOI2007]降雨量 试题描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890, 则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未 知,有的说法是可能正确也可以不正确的. 输入 输入仅一行包含一个正整数n,为已知的…
[BZOJ1067][SCOI2007]降雨量 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. Input 输入仅一行包含一个正整…
主要还是细节分析:线段树作为工具 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. Input 输入仅一行包含一个正整数n,为已知的…
题目传送门 降雨量 题目背景 07四川省选 题目描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. 输入输出格式 输入格式: 输入仅一行包含一个正整数n…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1067 题意概括 给定n组整数对(Xi,Yi),当Xi<Xj且Yi>=Yj时,如果对于任意的Xk,有Xi<Xk<Xj, Yk严格小于Yj,则称Xi是Xi到Xj中最牛的点.例如4个整数对(2002,4920),(2003,5901),(2004,2832),(2005,3890),则可以说“2003”是2003至2005中最牛的点,但不能说是2002至2005中最牛的点.由于有些X坐标…
题目描述 我们常常会说这样的话:"X年是自Y年以来降雨量最多的".它的含义是X年的降雨量不超过Y年,且对于任意\(Y<Z<X\),Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说"2005年是自2003年以来最多的",但不能说"2005年是自2002年以来最多的"由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. 输入输出格式 输入格式: 输…
题目大意 传送门 题解 我国古代有一句俗话. 骗分出奇迹,乱搞最神奇! 这句话在这道题上得到了鲜明的体现. 我的方法就是魔改版线段树,乱搞搞一下,首先借鉴了黄学长的建树方法,直接用一个节点维护年份的区间,但是这样就带来了问题,就是在查询的时候非常难以操作.经过不断的乱搞,我终于把正确的操作方式搞了出来... 另外这个题细节还是很多.详见胡泽聪dalao的分析 代码 #include <bits/stdc++.h> using namespace std; const int maxn = 50…
1067: [SCOI2007]降雨量 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2148  Solved: 554[Submit][Status] Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以…
1067: [SCOI2007]降雨量 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 2010  Solved: 503[Submit][Status] Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以…
题目链接: bzoj 1067: [SCOI2007]降雨量 题解: 很简单的一道题,但代码里有许多细节需要注意,切容易出错,调了三个小时OTZ 做一个st表维护区间最大值就 在获得年份在序列中的pos时二分 也可以维护平衡树查询pos 或者用直接用线段维护最大值同时维护区间中有多少年份 其次分情况讨论就好了 #include<cmath> #include<cstdio> #include<algorithm> inline int read() { int x=0,…
BZOJ_1067_[SCOI2007]降雨量_ST表 Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890, 则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未 知,有的说法是可能正确也可以不正确的. Input 输入仅一…
题目描述 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. 输入 输入仅一行包含一个正整数n,为已知的数据.以下n行每行两个整数yi和ri,为年份和降雨量,…
点此看题面 大致题意:请你判断"\(x\)年是自\(y\)年以来降雨量最多的"这句话的真假. 离散化/\(lower\_bound\) 首先,考虑到年份的范围非常大,便可以离散化. 而我比较懒,反正题目中说了年份是递增的,因此我直接用了\(C++\)自带的\(lower\_bound\). \(RMQ\) 这题还需要使用的一个算法便是\(RMQ\). 这应该是一个比较基础的算法吧,这里就不多加介绍了. 至于哪里需要使用,后面你就知道了. 分类讨论 考虑如果是\(false\),则无非有…
  这道题是比较经典的 \(RMQ\) 问题,用线段树维护是比较简单好写的.比较难的部分是判断处理.如果没有想好直接打代码会调很久(没错就是我).怎么维护查询区间最大值我就不再这里赘述了,不懂线段树的先去入门(此题也是线段树入门题).我讲几个很坑的点(比较坑我的点):   1.询问的X年降雨量不超过Y,但是中间年份降雨量一定小于X(注意X和Y顺序).   2.X可能等于Y+1年,也就是不用考虑中间年份.   3.区间查询最值的操作要留意范围,不同情况下查询的范围是不一样的,这点需要自己理解.  …
http://www.lydsy.com/JudgeOnline/problem.php?id=1067 好不爽,弄了一个晚上. 好不爽. 还是照着别人程序拍着看的!!! 噗 这题很变态. 首先,我没看清楚题,以为是严格上升!!!!!!所以误导了我. 然后这题的判定非常hentai!! 我们来考虑true的情况[x年到y年]: x已知并且y已知 y年降水量不超过x年 x+1到y-1年已知并且都小于y年降水量 然后是maybe的情况[x年到y年]: x已知并且y已知 y年降水量不超过x年 x+1到…
浅谈\(RMQ\):https://www.cnblogs.com/AKMer/p/10128219.html 题目传送门:https://lydsy.com/JudgeOnline/problem.php?id=1067 关于\(RMQ\)的部分应该是很裸的了,这题难在分类讨论上. 顺带推销一波我的杀蚂蚁和猪国杀. 模拟题不难的. 时间复杂度:\(O(nlogn+m)\) 空间复杂度:\(O(nlogn)\) 代码如下: #include <cstdio> #include <iost…
dlntqlwsl 很裸的一道线段树题,被硬生生刷成了紫题..可能因为细节问题吧,我也栽了一次WA50分.不过这个隐藏条件真的对本菜鸡来说不易发现啊. 未知的年份连续的就看成一个就好了,把年份都离散化一下. 分四大类(设自X以来的Y年) X未知,Y未知.(maybe) X未知,Y已知.中间夹住的区间只看有没有超过Y降雨量的就行了(false/meybe) X已知,Y已知.看中间有没有超过的有就是false并且注意看X降雨量是不是大于等于Y的降雨量(来自题目第一行),其次再看中间最小值有没有0(我…
http://www.lydsy.com/JudgeOnline/problem.php?id=1067 题意:…… 思路:首先我们开一个数组记录年份,一个记录降雨量,因为年份是按升序排列的,所以我们在每个询问找下标的时候可以二分搜索,然后对于每个询问我们是要寻找区间的最大值,因此我们可以使用ST表来做.比较麻烦的是判断三种答案的情况,做了一个下午.假设询问输入的是X和Y(X < Y)接下来分为四种情况: 1.X是已知,Y是已知.那么这是最容易想到的情况. 1-1.如果在[X+1,Y-1]区间中…
本机AC提交RE…… 传送门:QAQQAQ 题意:自己看 思路:据说这道题用RMQ做很快,但这道题线段树是可以的 线段树维护一段区间最左年,最右年,是否有间隙和区间最大值 这道题分类讨论是一大难点,主要分为以下几种情况: 1.AB均不确定,输出maybe 2.A确定B不确定: 若A是A到B最大的,输出maybe 否则输出false 3.A不确定B确定: 若B是lower_bound(A)到B最大的,则输出maybe 否则输出false 4.A确定B确定 若B是A+1到B最大的,A是A到B最大的,…
原题传送门 前置芝士 离散化 ST表和RMQ问题 二分 正文 首先我们来分析一下题意. 题目会给出两个大小为 \(n\) 的数组,\(y\) 和 \(r\) ,其中 \(y_i\) 表示第 \(i\) 个年份是第几年,\(r_i\) 表示的是第 \(y_i\) 年的降雨量.之后,将会有 \(m\) 次询问,每次询问给出两个年份 \(Y\) 和 \(X\) ,若用 Z 表示 \(Y\) 和 \(X\) 之间的年份,则我们要判断的是三个年份的降雨量是否满足 \(Y\geqslant X>Z\) ,根…
Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的.Input 输入仅一行包含一个正整数n,为已知的数据.以下n行每行两个整数yi和ri…
Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. Input 输入仅一行包含一个正整数n,为已知的数据.以下n行每行两个整数yi和r…
Description 我们常常会说这样的话:"X年是自Y年以来降雨量最多的".它的含义是X年的降雨量不超过Y年,且对于任意Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890,则可以说"2005年是自2003年以来最多的",但不能说"2005年是自2002年以来最多的"由于有些年份的降雨量未知,有的说法是可能正确也可以不正确的. Solution 抱歉…
Description 我们常常会说这样的话:“X年是自Y年以来降雨量最多的”.它的含义是X年的降雨量不超过Y年,且对于任意 Y<Z<X,Z年的降雨量严格小于X年.例如2002,2003,2004和2005年的降雨量分别为4920,5901,2832和3890, 则可以说“2005年是自2003年以来最多的”,但不能说“2005年是自2002年以来最多的”由于有些年份的降雨量未 知,有的说法是可能正确也可以不正确的. Input 输入仅一行包含一个正整数n,为已知的数据.以下n行每行两个整数y…
[题解] 用线段树维护区间最大值(因为没有修改,St表也可以),然后由于x,y可能是降雨量未知的年份,需要进行分类讨论. #include<cstdio> #include<algorithm> #define rg register #define N 50010 #define ls (u<<1) #define rs (u<<1|1) using namespace std; int n,m,y[N],R[N]; struct tree{ int l,…
Luogu P2471 啊啊啊啊这真是一道史上最毒瘤的题目!!!!! 题意就是给出n个年份的降雨量 询问:"自从\(y\)年以来\(x\)年的降雨量最大"的正确性. 显然有多种情况需要考虑,那么就需要通过分类讨论理清程序的逻辑了. 对于"自从\(y\)年以来\(x\)年的降雨量最大"这样一句话,可以转化成如下条件: \(rain[x]<=rain[y]且\forall a \in [y+1,x-1]有rain[a]<rain[x]\) 经过这样的转化,我…
ST表,再大力讨论一下(因为lower_bound和upper_bound,WA了一次) # include <bits/stdc++.h> # define RG register # define IL inline # define Fill(a, b) memset(a, b, sizeof(a)) using namespace std; typedef long long ll; const int _(5e4 + 10); IL ll Read(){ char c = '%';…
链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1067 思路: 毒瘤题,写的自闭,改了一晚上,注意要理清题目的逻辑 x小于等于y,x,y之间的数严格小于x,不能等于: 分类讨论懒得写的,很简单的分类讨论. 实现代码: #include<bits/stdc++.h> using namespace std; #define lson l,m,rt<<1 #define rson m+1,r,rt<<1|1 #def…
暑假写的一些博客复习一遍.顺便再写一遍或者以现在的角度补充一点东西. 盛暑七月 初涉基环外向树dp&&bzoj1040: [ZJOI2008]骑士 比较经典的基环外向树dp.可以借鉴的技巧在于将每一个环拆出一条边,使剩下部分成为树.再然后就是max(f[u][0],f[v][0])思考中可能会出现的纰漏. ; i<=n; i++) { v[i] = read(), tt = read(); if (get(tt)!=get(i)){ addedge(i, tt); fa[fa[tt]…