poj2452
题意:就是说给你一段区间,要你找出一段最长的区间,在这段区间的所有数都大于区间的第一个数、小于区间的最后一个数......输出区间的长度,若是长度为0则输出-1.
4
5 4 3 6
4
6 5 4 3
思路:暴力吧,有些技巧。可以说是区间合并,往后找一个数,然后往前找它前面有多少个数比它小,并记录最小值,和最小值的位置,然后用当前值所在位置减去最小值所在位置,就是这段区间的结果,再把这结果保存到当前值所在位置,然后往下找.....
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define M 50100
struct node
{
int num;
int sum;
}s[M];
int main()
{
int n;
while(scanf("%d",&n)>0)
{
//memset(s,0,sizeof(s));
for(int i=1;i<=n;i++)
{
scanf("%d",&s[i].num);
s[i].sum=0;
}
int ans=0;
for(int i=2;i<=n;i++)
{
int j=i-1;
//int sum=0;
int minx=100000000;
int xxx=-1;
while(j>=1)
{
if(s[i].num>s[j].num)
{
if(s[j].sum==0)
{
//sum++;
if(s[j].num<minx)
{
minx=s[j].num;
xxx=j;
}
j--;
}
else
{
//sum+=s[j].sum;
j-=s[j].sum;
}
}
else
break;
}
if(xxx!=-1)
s[i].sum=i-xxx;
else
s[i].sum=0;
if(ans<s[i].sum)
ans=s[i].sum;
}
if(ans==0)
printf("-1\n");
else
printf("%d\n",ans);
}
return 0;
}
poj2452的更多相关文章
- POJ-2452 Sticks Problem 二分+RMQ
题目链接: https://cn.vjudge.net/problem/POJ-2452 题目大意: 给出一个数组a,求最大的j-i满足 i<j && a[i] ... a[j] ...
- Sticks Problem
Sticks Problem poj-2452 题目大意:给你一串n个数的数列a,上面的数为a1到an.我们求最大的y-x,其中,y和x满足1.x<y 2.任意的x<i<y,都有ai ...
- ACM学习大纲
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...
- ACM训练大纲
1. 算法总结及推荐题目 1.1 C++ STL • STL容器: set, map, vector, priority_queue, queue, stack, deque, bitset• STL ...
- ACM学习大纲(转)
1 推荐题库 •http://ace.delos.com/usaco/ 美国的OI 题库,如果是刚入门的新手,可以尝试先把它刷通,能够学到几乎全部的基础算法极其优化,全部的题解及标程还有题目翻译可以b ...
随机推荐
- 【VMware】宿主机连接wifi,虚拟机中的Linux系统配置连接wifi
环境描述 宿主机:Windows 10 64bit 虚拟机:Centos 第一步:虚拟机设置 选择连接方式为NAT 第二步:设置宿主机的wifi 控制面板>>网络和Internet> ...
- 调用网易有道词典api
# -*- coding: utf-8 -*- #python 27 #xiaodeng #调用网易有道词典api import urllib import json class Youdao(): ...
- 通俗的理解HTTPS以及SSL中的证书验证
一.HTTPS的安全性体现在哪 HTTP(超文本传输协议,Hyper Text Transfer Protocol)是我们浏览网站信息传输最广泛的一种协议.HTTPS(Hyper Text Trans ...
- Windows 消息机制浅析
1. Windows 的历史 中国人喜欢以史为鉴,而事实也确实是,如果你能知道一件事情的来龙去脉,往往可以更容易地理解事物为什么会表现为当前这样的现状.所以,我的介绍性开场白通常会以一段历 ...
- Linux查看GPU信息和使用情况
Linux查看显卡信息: lspci | grep -i vga 使用nvidia GPU可以: lspci | grep -i nvidia [root@gpu-server-002 ~]# lsp ...
- HDUOJ-----1166敌兵布阵
敌兵布阵 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submis ...
- Java数据库表自动转化为PO对象
本程序简单实现了数据库内省,生成PO对象. 数据库内省有如下两种实现方式: 通过mysql元表 通过desc table,show tables等命令 import java.io.IOExcepti ...
- 解决ADSL拨号上网错误691:由于域上的用户名和密码无效而拒绝访问
此错误是发生在我家用一个台式机拨号上网没问题,但笔记本拨号上网就有问题. 问题解决发现是电信初次拨号上网会绑定这个拨号用户的MAC网卡地址,将台式机的MAC地址配置到我的笔记本上就ok了! ...
- struts2 xml配置文件配置传参数
传参方式 重定向 第一方式: <action name="search" method="search" class="c ...
- api 和 C# 里的接口的区别?
从狭义上讲,接口指的是借由 interface 定义的结构,接口中只对方法做定义,不做实现.具体实现由最终实现接口的类提供. interface 作为一种类型,可以用于定义方法,我们只关心类实现了接口 ...