思路:

单调栈。

鄙人的记忆:按当前为最大值的两边延伸就是维护单调递减栈。

//#include <bits/stdc++.h>
#include <iostream>
#include <stack>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <queue>
#include <vector>
#include <map>
using namespace std;
typedef long long LL;
typedef pair<int,int> PII;
const int N=50000+10;
struct asd{
int id;
int left,right,w;
};
int n,a[N];
int ans[N][2];
stack<asd>q;
int main()
{
while(!q.empty())
q.pop();
int T,cas=1;
scanf("%d",&T);
while(T--)
{
asd now,nex;
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
now.id=1;
now.left=now.right=1;
now.w=a[1];
q.push(now);
for(int i=2;i<=n;i++)
{
nex.id=i;
nex.left=nex.right=i;
nex.w=a[i];
while(!q.empty()&&q.top().w<a[i])
{
now=q.top();q.pop();
ans[now.id][0]=now.left!=now.id?now.left:0;
ans[now.id][1]=now.right!=now.id?now.right:0;
if(!q.empty())
q.top().right=now.id;
nex.left=now.id;
}
q.push(nex);
}
while(!q.empty())
{
now=q.top();q.pop();
ans[now.id][0]=now.left!=now.id?now.left:0;
ans[now.id][1]=now.right!=now.id?now.right:0;
if(!q.empty())
q.top().right=now.id;
}
printf("Case %d:\n",cas++);
for(int i=1;i<=n;i++)
printf("%d %d\n",ans[i][0],ans[i][1]);
}
return 0;
}

最新文章

  1. eclipse 突然 一直在loading descriptor for XXX (XXX为工程名)Cancel Requested
  2. 自定义子tabBar
  3. .net异步编程
  4. mybatisforeach循环,传入多个参数
  5. hashCode()和toString()
  6. C#实现文件增量备份
  7. [转载]charisma-master 加载慢的原因及解决方法
  8. win8系统中PL/SQL Developer连接Oracle出现的问题
  9. Swift - 纯代码实现页面segue跳转,以及参数传递
  10. js定时器之setTimeout的使用
  11. MySQL备份恢复-mysqldump原理
  12. 吴恩达机器学习笔记18-多类别分类:一对多(Multiclass Classification_ One-vs-all)
  13. LSTM UEBA异常检测——deeplog里其实提到了,就是多分类LSTM算法,结合LSTM预测误差来检测异常参数
  14. hdu1753-大明A+B-(java大数)
  15. JavaScript写计算器
  16. 转转转!!java基础一些静态代码块等知识点
  17. 使用canvas绘制渐变色矩形和使用按键控制人物移动
  18. Codeforces 106A:Card Game
  19. 【BZOJ】3091: 城市旅行 Link-Cut Tree
  20. intellij自动生成java代码注释(java文件注释和方法注释)

热门文章

  1. 列举Python常用数据类型并尽量多的写出其中的方法
  2. Coin和Token有什么区别
  3. 【linux】自动删除7天前的文件
  4. systemclock sleep 睡眠
  5. java.lang.UnsupportedClassVersionError: com/dw/Function : Unsupported major.minor version 52.0
  6. 3D文字特效
  7. 《CSS权威指南(第三版)》---第七章 基本视觉格式化
  8. 脚本简介jQuery微信开放平台注册表单
  9. linux命令学习笔记(51):lsof命令
  10. ACM学习历程—HDU5265 pog loves szh II(策略 &amp;&amp; 贪心 &amp;&amp; 排序)