文章目录

  • 题目描述:
  • 题解:
  • 代码:

题目描述:


链接:https://ac.nowcoder.com/acm/problem/112798
来源:牛客网

输入描述:

输出描述:

Print q lines — the answers for the queries.

示例1
输入
复制

3
8 4 1
2
2 3
1 2

输出
复制

5
12

示例2
输入
复制

6
1 2 4 8 16 32
4
1 6
2 5
3 4
1 2

输出
复制

60
30
12
3

备注:

In first sample in both queries the maximum value of the function is
reached on the subsegment that is equal to the whole segment.

In second sample, optimal segment for first query are $[3,6][3,6][3,6]$, for
second query — $[2,5][2,5][2,5]$, for third — $[3,4][3,4][3,4]$, for fourth —
$[1,2][1,2][1,2]$.

题解:

我们要先摸索出f的规律
f(i,j)=f(i,j-1) xor f(i+1,j)
dp[l][r]为区间[l,r]的最大值
dp[l][r]=max(f(l,r),dp[l][r−1],dp[l+1][r])

代码:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=5030;
ll a[maxn];
ll dp[maxn][maxn];
ll res[maxn][maxn];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];res[i][i]=dp[i][i]=a[i];}int q;cin>>q;for (int len = 2; len <= n; len++) {for (int l = 1; l + len - 1 <= n; l++) {int r = l + len - 1;dp[l][r] = dp[l + 1][r] ^ dp[l][r - 1];res[l][r] = max({dp[l][r], res[l + 1][r], res[l][r - 1]});}}for(int i=1;i<=q;i++){int l,r;cin>>l>>r;printf("%d\n",res[l][r]);}return 0;
}
/*
1 2 4 8
f(1,4)=f(1,3) xor f(2,4)
f(1,3)=f(1,2) xor f(2,3)
1 2 4
f(1 xor 2, 2 xor 4)
f(1,2)=f(1,1) xor f(2,2)
*/
//f(i,j) = f(i, j-1) xor f(i+1,j)

【每日一题】8月25日题目精讲 XOR-pyramid相关推荐

  1. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  2. 牛客网【每日一题】7月30日题目精讲—Xor Path

    来源:牛客网: Xor Path 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 给定一棵 ...

  3. 【牛客每日一题】tokitsukaze and Soldier 题目精讲 贪心、优先队列、堆

    链接:https://ac.nowcoder.com/acm/problem/50439 来源:牛客网 ACM在线模板 今天才发现牛客推出了一个每日一题的版块,3月25号就开始了,今天才发现,赶紧补救 ...

  4. 【每日一题】7月17日题目精讲—BOWL 碗的叠放

    [每日一题]7月17日题目精讲-BOWL 碗的叠放 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  5. 【每日一题】8月28日题目精讲 编号

    [每日一题]8月28日题目精讲 编号 链接:https://ac.nowcoder.com/acm/problem/19925 来源:牛客网 题目描述 你需要给一批商品编号,其中每个编号都是一个7位1 ...

  6. 【每日一题】7月15日题目精讲—生日快乐

    [每日一题]7月15日题目精讲-生日快乐 [SCOI2009]生日快乐 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO For ...

  7. 【每日一题】7月13日题目精讲—Kingdom

    [每日一题]7月13日题目精讲-Kingdom 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bi ...

  8. 【每日一题】5月7日题目精讲 「火」皇家烈焰

    链接: 「火」皇家烈焰 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: % ...

  9. 牛客网【每日一题】4月14日题目精讲 Xorto

    文章目录 题目描述 题解: 代码: 扩展 传送 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format:%lld 题目描述 ...

最新文章

  1. 聊聊 Redis 使用场景
  2. CTP 客户端 技术相关 简介 一
  3. python脚本 pyqt 打包成windows可执行exe文件 pyinstaller
  4. java枚举对象作用_浅析Java编程中枚举类型的定义与使用
  5. linux下各种文件设备,各硬件设备在Linux中的文件名
  6. vimnbsp;自动识别UTF8和GB2312
  7. Linux内核源码分析--内核启动之(2)Image内核启动(汇编部分)(Linux-3.0 ARMv7)
  8. 深度学习中的激活函数导引
  9. Java泛型原理、类型擦除
  10. 计算机装机常用英语词汇,组装生产常用英语专用词汇.doc
  11. xp提示计算机内存不足,在xp系统中,经常提示虚拟内存不足的原因是什么?
  12. 用C语言实现移位密码加密与解密
  13. 多传感器融合算法,单目测距、基于双目,长焦短焦,图像拼接,环视等
  14. android 装苹果系统,安卓机子安装苹果IOS系统?
  15. 计算机科学基础刘小丽,刘小丽
  16. 图(Graph)详解 - 数据结构
  17. SQL——数据库使用规范(入门规范)
  18. aoc usb显示器 linux,AOC首款USB连接云显示器
  19. 手机sim卡被格式化了数据怎么找回来
  20. Js 在字符串中提取数字

热门文章

  1. 双十一来了,揭秘菜鸟物流背后的那些算法黑科技
  2. 2017年终奖发放,程序员人均11776元排名第一!
  3. 主成分分析和因子分析十大不同点
  4. 三维重建 几何方法 深度学习_基于深度学习的视觉三维重建研究总结
  5. ubuntu 没有php.ini,linux – 在Ubuntu中我对php.ini进行了更改,但没有任何反应
  6. 23V3有这种C语言表达式吗,数据结构(C语言版第2版_李云清)习题答案2012-12.doc
  7. python服务器qt客户端_python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例...
  8. jsoup 获取html中body内容_jsoup实现java抓取网页内容
  9. c语言 extern_Visual C++ 6.0环境中C语言extern 变量使用过程报错
  10. mysql 操作类 C .net_.NET MYSQL数据库操作基类( C#源码)