【SCOI2007】降雨量
来源:互联网 发布:win7网络图标无法打开 编辑:程序博客网 时间:2024/05/20 05:25
【SCOI2007】降雨量
【题目描述】
我们常常会说这样的话:“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,为年份和降雨量,按照年份从小到大排列,即yi<yi+1。下一行包含一个正整数m,为询问的次数。以下m行每行包含两个数Y和X,即询问“X年是自Y年以来降雨量最多的。”这句话是必真、必假还是“有可能”。
【输出】
对于每一个询问,输出true,false或者maybe。
【输入样例】
6
2002 4920
2003 5901
2004 2832
2005 3890
2007 5609
2008 3024
5
2002 2005
2003 2005
2002 2007
2003 2007
2005 2008
【输出样例】
false
true
false
maybe
false
【数据范围】
100%的数据满足:1<=n<=50000, 1<=m<=10000, -109<=yi<=109, 1<=ri<=109
【题解】
我使用的算法是线段树,但还有一个动态规划的解法,本蒟蒻不会TAT
其实只用讨论true和maybe两种情况,剩下的情况就是false了。
答案为true的条件:
①询问中从y到x之间所有的年份都已知;
②x+1~y-1之间的降雨量都小于x年;
③x年的降雨量小于等于y年的降雨量。
以上条件同时满足,答案即为true。
答案为maybe的条件(三种):
(一)
①x或y中有且只有一年的降雨量未知;
②x+1~y-1之间的降雨量都小于x年。
以上条件同时满足,答案即为maybe。
(二)
x和y的降雨量都未知。
满足此条件,答案即为maybe。
(三)
这个是最复杂的……
①x和y的降雨量都已知;
②x+1~y-1之间至少有一年的降雨量未知;
③x+1~y-1之间已知的降雨量都小于x年;
④x年的降雨量小于等于y年的降雨量。
以上条件同时满足,答案即为maybe。
判断降雨量是否为最大就用线段树,判断是否全部已知就检查这一段年份内的数据是否绝对稠密。
话说这题真的很纠结啊……
【代码】
传统朴素线段树,只用查找区间最大值,不用考虑修改还是好写。
【SCOI2007】降雨量#代码
0 0
- scoi2007降雨量
- 【SCOI2007】降雨量
- [SCOI2007]降雨量
- [bzoj][SCOI2007]降雨量
- bzoj1067: [SCOI2007]降雨量
- 【BZOJ 1067】 [SCOI2007]降雨量
- 【SCOI2007】【BZOJ1067】降雨量
- [BZOJ1067][SCOI2007]降雨量
- 1067: [SCOI2007]降雨量
- bzoj 1067: [SCOI2007]降雨量
- bzoj 1067 [SCOI2007]降雨量
- bzoj[SCOI2007]降雨量
- 【bzoj1067】[SCOI2007]降雨量
- bzoj 1067: [SCOI2007]降雨量
- 【bzoj1067】[SCOI2007]降雨量
- BZOJ1067[SCOI2007]降雨量
- 【bzoj1067】[SCOI2007]降雨量 (RMQ)
- [bzoj] 1067: [SCOI2007]降雨量
- linux学习之ssh-copy-id及其替代命令
- IOS 上YUV图像显示相关参考
- 查找(3)--哈希表(散列查找)
- poj 1664 放苹果(递推,记忆化搜索)简单题
- servlet的生命周期
- 【SCOI2007】降雨量
- Eclipse NDK+JNI环境搭建
- struts2学习小结
- Working Practice-技术领导人如何起步
- CSDN CODE 初体验
- 386高校毕业设计选题
- 排错日志【规范、模板】
- 数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
- 重写、覆盖、重载、多态几个概念的区别分析