51nod1423 最大二“货”
来源:互联网 发布:mac系统怎么关闭程序 编辑:程序博客网 时间:2024/04/30 05:30
题面在这里
我们维护一个单调递减的栈,然后发现每次一个数进栈的时候,那些弹出栈的数都对应某一个区间的次大值(最大值就是要进栈的数),所以我们每次弹栈的时候更新一下答案就好了。
然后这个只是次大值在最大值之前的情况,之后的情况再把a数组反过来操作一遍就行。
/*************************************************************Problem: 51nod 1423 最大二“货”User: bestFyLanguage: C++Result: AcceptedTime: 234 msMemory: 2700 KBSubmit_Time: 2017/11/15 16:55:21*************************************************************/#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int N = 100010;int n, ans, top;int a[N], st[N];inline void solve(){st[top = 0] = 0;for (int i = 1; i <= n; i ++){while (top && a[st[top]] <= a[i]) ans = max(ans, a[i]^a[st[top --]]);st[++ top] = i;}}int main(){scanf("%d", &n);for (int i = 1; i <= n; i ++) scanf("%d", &a[i]);solve();reverse(a+1, a+1+n);solve();printf("%d\n", ans);return 0;}
阅读全文
0 0
- 51nod1423 最大二“货”
- 51nod 1423:最大二“货”
- 51nod 1423 最大二“货”
- 51Nod-1423-最大二"货"
- 最大二“货”
- 51nod-1423 最大二“货”(单调栈)
- 单调栈——51nod 1423 最大二“货”
- 51nod 1423 最大“二货”【单调栈】
- 【单调栈】51Nod 1423 最大二“货”
- 最大子数组二
- 最大流/二匹配
- 寻找最大数(二)
- 最大流(二)
- 最大长方形(二)
- 最大长方形(二)
- 最大长方形(二)
- 寻找最大数(二)
- 最大长方形(二)-OJ
- ckplayer 播放视频
- 进程调度
- 核心处理:使用List.subList(int start,int end);进行段位截取。 [java] view plain copy import java.util.ArrayList;
- h5+css3 登录页
- echart3实用技巧整理
- 51nod1423 最大二“货”
- 解决firefox设置不自动更新后仍然自动更新问题
- Mongodb数据导出和导入
- 实战 | 这是一个转型AI的励志故事,从非科班到拿下阿里云栖一等奖,他经历的坑足够你学习100天
- JSP中输出Enum
- JAVA 正则表达式
- JS实现倒计时精确到天数,时,分,秒或者精确到时、分、秒(小时数累加)
- Hadoop/MapReduce购物篮分析:关联规则挖掘
- UVALive