BEAUTIFUL
DESCRIPTION:
一个长度为n 的序列,对于每个位置i 的数ai 都有一个优美值,其定义是:找到序列中最
长的一段[l, r],满足l<i<r,且[l, r] 中位数为ai(我们比较序列中两个位置的数的大小时,
以数值为第一关键字,下标为第二关键字比较。这样的话[l, r] 的长度只有可能是奇数),r - l
+ 1 就是i 的优美值。
接下来有Q 个询问,每个询问[l, r] 表示查询区间[l, r] 内优美值的最大值。
INPUT:
第一行输入n 接下来n 个整数,代表ai 接下来Q,代表有Q 个区间接下来Q 行,每行
两个整数 l, r 表示区间的左右端点
OUTPUT:
对于每个区间的询问,输出答案
SAMPLE INPUT:
8
16 19 7 8 9 11 20 16
8
3 8
1 4
2 3
1 1
5 5
1 2
2 8
7 8
SAMPLE OUTPUT:
7
3
1
3
5
3
7
3
数据范围:
30%: N,Q<50
70%:N,Q<2000
100%:N<2000,Q<100000,ai<200
对于所有数据,满足n 2000, Q <100000,ai <200
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int main()
{
freopen("beautiful.in","r",stdin);
freopen("beautiful.out","w",stdout);
static int a[],b[],v[],f[][];
int *l(b+),*r(b+);
int n(),cnt();
scanf("%d",&n);
for(int i=;i<=n;i++)
scanf("%d",a+i);
for(int i=;i<=n;i++)
{
cnt=;
memset(b,,sizeof(b));
l[]=r[]=i;
for(int j=i-;j>;j--)
{
if(a[j]>a[i])cnt++;
else cnt--;
l[cnt]=j;
}
cnt=;
for(int j=i+;j<=n;j++)
{
if(a[j]>=a[i])cnt++;
else cnt--;
r[cnt]=j;
}
v[i]=;
for(int j=-n;j<=n;j++)
if(l[j]&&r[-j])
v[i]=max(v[i],r[-j]-l[j]+);
}
for(int i=;i<=n;i++)
f[i][i]=v[i];
for(int i=;i<=n;i++)
for(int j=i+;j<=n;j++)
f[i][j]=max(f[i][j-],f[j][j]);
int q();
scanf("%d",&q);
while(q)
{
q--;
int lt(),rt();
scanf("%d%d",<,&rt);
printf("%d\n",f[lt][rt]);
}
return ;
}
BEAUTIFUL的更多相关文章
- 使用Beautiful Soup编写一个爬虫 系列随笔汇总
这几篇博文只是为了记录学习Beautiful Soup的过程,不仅方便自己以后查看,也许能帮到同样在学习这个技术的朋友.通过学习Beautiful Soup基础知识 完成了一个简单的爬虫服务:从all ...
- 网络爬虫: 从allitebooks.com抓取书籍信息并从amazon.com抓取价格(1): 基础知识Beautiful Soup
开始学习网络数据挖掘方面的知识,首先从Beautiful Soup入手(Beautiful Soup是一个Python库,功能是从HTML和XML中解析数据),打算以三篇博文纪录学习Beautiful ...
- Python爬虫学习(11):Beautiful Soup的使用
之前我们从网页中提取重要信息主要是通过自己编写正则表达式完成的,但是如果你觉得正则表达式很好写的话,那你估计不是地球人了,而且很容易出问题.下边要介绍的Beautiful Soup就可以帮你简化这些操 ...
- 推荐一些python Beautiful Soup学习网址
前言:这几天忙着写分析报告,实在没精力去研究django,虽然抽时间去看了几遍中文文档,还是等实际实践后写几篇操作文章吧! 正文:以下是本人前段时间学习bs4库找的一些网址,在学习的可以参考下,有点多 ...
- 数位DP CF 55D Beautiful numbers
题目链接 题意:定义"beautiful number"为一个数n能整除所有数位上非0的数字 分析:即n是数位所有数字的最小公倍数的倍数.LCM(1到9)=2520.n满足是252 ...
- 错误 You are trying to run the Python 2 version of Beautiful Soup under Python 3. This will not work
Win 10 下python3.6 使用Beautiful Soup 4错误 You are trying to run the Python 2 version of Beautiful ...
- hihoCoder 1425 : What a Beautiful Lake(美丽滴湖)
hihoCoder #1425 : What a Beautiful Lake(美丽滴湖) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...
- Python学习笔记之Beautiful Soup
如何在Python3.x中使用Beautiful Soup 1.BeautifulSoup中文文档:http://www.crummy.com/software/BeautifulSoup/bs3/d ...
- Python Beautiful Soup学习之HTML标签补全功能
Beautiful Soup是一个非常流行的Python模块.该模块可以解析网页,并提供定位内容的便捷接口. 使用下面两个命令安装: pip install beautifulsoup4 或者 sud ...
- 【BZOJ-4692】Beautiful Spacing 二分答案 + 乱搞(DP?)
4692: Beautiful Spacing Time Limit: 15 Sec Memory Limit: 128 MBSubmit: 46 Solved: 21[Submit][Statu ...
随机推荐
- PHP 成长规划
PHP程序员的技术成长规划 作者:黑夜路人(2014/10/15) 转:http://blog.csdn.net/heiyeshuwu/article/details/40098043 按照了解的很多 ...
- Javascript 日期 加减
//create the date var myDate = new Date(); //add a day to the date myDate.setDate(myDate.getDate() + ...
- 可视化库-Matplotlib-饼图与布局(第四天)
1. 画出一个基本的饼图,通过plt.pie() m = 51212 f = 40742 m_perc = m / (m+f) f_perc = f / (m+f) colors = ['navy', ...
- hive 建表导入数据
1. hive> create table wyp > (id int, name string, > age int, tel string) > ROW FORMAT DE ...
- word2vec 细节解析1
count.extend(collections.Counter(list1).most_common(2))表示:使用collections.Counter统计list1列表重单词的频数,然后使用m ...
- C++ IDE环境
--------siwuxie095 IDE:集成开发环境,包括:编辑器.编译器.调试器.图形用户界面工具 以及其他的一些小工具 ...
- QEMU 代码分析:BIOS 的加载过程
http://www.ibm.com/developerworks/cn/linux/1410_qiaoly_qemubios/ QEMU 中使用 BIOS 简介 BIOS 提供主板或者显卡的固件信息 ...
- 宽字符、多字节、unicode、utf-8、gbk编码转化
今天遇到一个编码的问题,困惑了我很长时间,所以就简要的的了解了一下常用的编码类型. 我们最常见的是assic编码,它是一种单字节编码,对多容纳256个字符. 我们在编程的时候经常遇到unicode,u ...
- LVS初步
LVS初步 一见 目录 目录 1 1. 前言 2 2. 思考 2 3. 名词解释 2 4. OSI参考模型 3 5. LVS架构 4 5.1. 负载均衡器(Load Balancer) 4 5.2. ...
- Codeforces761B Dasha and friends 2017-02-05 23:34 162人阅读 评论(0) 收藏
B. Dasha and friends time limit per test 2 seconds memory limit per test 256 megabytes input standar ...