h1506动态规划
来源:互联网 发布:手机淘宝二手市场在哪 编辑:程序博客网 时间:2024/05/21 11:16
这道题写的时候参考了网上的思路,用了递推,然而超时
然后再参考了别人的,发现了为什么超时,可以说用了动态规划的精髓吧呵呵呵
如果不会了,再写一遍
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
long long int a[100005];
int l[100005],r[100005];
int main()
{
int n;
while(scanf("%d",&n)&&n!=0)
{
for(int i=1; i<=n; i++)
{
scanf("%lld",&a[i]);
l[i]=r[i]=i;
}
long long int imax=0,sum;
a[0]=a[n+1]=-1;
for(int i=1;i<=n;i++)
{
while(a[l[i]-1]>=a[i])
l[i]=l[l[i]-1];
}
for(int i=n;i>=1;i--)
{
while(a[r[i]+1]>=a[i])
r[i]=r[r[i]+1];
}
for(int i=1;i<=n;i++)
{
sum=a[i]*(r[i]-l[i]+1);
imax=max(imax,sum);
}
printf("%lld\n",imax);
}
return 0;
}
- h1506动态规划
- 动态规划!!!动态规划!!!
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 动态规划
- 【fiddler core】fiddler core 使用常见问题
- C#中的特性,什么是特性.
- 浅谈Linux中的僵尸进程
- 【PHP】匿名函数
- MVC3 使用SingalR后台推送数据
- h1506动态规划
- Redis的安装和部署
- Axis Webservice框架使用案例
- Kmeans与高斯混合模型的不同
- interceptor(拦截器)与filter(过滤器)的区别
- Android6.0短信装逼生成器
- 学习Javascript闭包(Closure) 个人觉得非常浅显易懂
- 在线笔试-求二叉树中俩个节点的最低共同父节点
- 验证规则