当前位置: 首页 > news >正文

[HEOI2013]ALO

因为每个宝石只与另外一个宝石异或,可以发现宝石的左边比他大的第2个到右边比他大的第2个区间是这个宝石能够选取另一个与其异或的范围。

枚举每个宝石,找到左右区间,暴力更新即可。。。

标程是可持久化字典树。

mycode:

/**
 * Problem:ALO
 * Author:Shun Yao
 * Time:2013.5.22
 * Result:Accepted
 */
 
#include <cstring>
#include <cstdlib>
#include <cstdio>
 
using namespace std;
 
long max(long x, long y) {
    return x > y ? x : y;
}
 
long n, l[50005], r[50005], a[50005], ans;
 
int main() {
    static long i, j;
    scanf("%ld", &n);
    for (i = 1; i <= n; ++i)
        scanf("%ld", a + i);
    for (i = 1; i <= n; ++i) {
        for (j = i - 1; j >= 1 && a[j] < a[i]; --j);
        if (j >= 1) {
            --j;
            while (j >= 0 && a[j] < a[i])
                --j;
            l[i] = j + 1;
        } else
            l[i] = i + 1;
    }
    for (i = n; i >= 1; --i) {
        for (j = i + 1; j <= n && a[j] < a[i]; ++j);
        if (j <= n) {
            ++j;
            while (j <= n && a[j] < a[i])
                ++j;
            r[i] = j - 1;
        } else
            r[i] = i - 1;
    }
    ans = 0;
    for (i = 1; i <= n; ++i)
        for (j = l[i]; j <= r[i]; ++j)
            ans = max(ans, a[i] ^ a[j]);
    printf("%ld", ans);
    return 0;
}

 

转载于:https://www.cnblogs.com/hsuppr/archive/2013/05/22/3093835.html

相关文章:

  • 20172304 2017-2018-2 《程序设计与数据结构》第七周学习总结
  • 【语言处理与Python】4.2序列
  • 关于iOS网络访问权限的问题
  • Repository设计模式
  • Launcher中Shortcut的创建流程简析
  • thymeltesys-基于Spring Boot Oauth2的扫码登录框架
  • windows下揪出java程序占用cpu很高的线程 并找到问题代码 死循环线程代码
  • 如何格式化日期和时间
  • [R] data.frame() creates list?
  • 任意选若干个不相邻的数得到的和最大【dp】
  • C++ sort使用两个参数来排序
  • SmallSlider 图片轮播插件
  • 旅游网站CheapAir.com以BCH作为比特币支付
  • 二叉排序树
  • 【spring cloud】spring cloud子module的pom文件添加依赖,出现unknown问题【maven】
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 《深入 React 技术栈》
  • 【刷算法】从上往下打印二叉树
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • angular2 简述
  • Angular数据绑定机制
  • chrome扩展demo1-小时钟
  • docker-consul
  • flask接收请求并推入栈
  • Golang-长连接-状态推送
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • in typeof instanceof ===这些运算符有什么作用
  • Laravel核心解读--Facades
  • VuePress 静态网站生成
  • vue的全局变量和全局拦截请求器
  • vue总结
  • 前端面试题总结
  • 如何解决微信端直接跳WAP端
  • 如何优雅地使用 Sublime Text
  • 小程序button引导用户授权
  • 移动端唤起键盘时取消position:fixed定位
  • 因为阿里,他们成了“杭漂”
  • 赢得Docker挑战最佳实践
  • 大数据全解:定义、价值及挑战
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十三)Flask之特殊装饰器详解
  • (四)鸿鹄云架构一服务注册中心
  • (一)基于IDEA的JAVA基础10
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)jdk与jre的区别
  • (转)setTimeout 和 setInterval 的区别
  • (转)shell调试方法
  • (转)关于多人操作数据的处理策略
  • .naturalWidth 和naturalHeight属性,
  • .NET 将多个程序集合并成单一程序集的 4+3 种方法
  • .NET 中 GetProcess 相关方法的性能