牛客 小 Q 与彼岸花(区间DP)

简介: 牛客 小 Q 与彼岸花(区间DP)

link

题意:

给定一个长度为n ( n < = 5000 )的序列,多次询问求区间[ l , r ]的两个数的异或值的最大值。

思路:

考虑O ( n 2 )的区间d p

加强版

代码:

ll a[5100],dp[5100][5100];
int main(){
  int n=read,m=read;
  rep(i,1,n) a[i]=read;
    for(int i=1;i<=n;i++){
        dp[i][i]=a[i];
        for(int j=1;j<=n;j++) dp[i][j]=a[i]^a[j];
    }
    for(int len=3;len<=n;len++){
        for(int i=1;i+len-1<=n;i++){
            int j=i+len-1;
            dp[i][j]=max(dp[i][j],max(dp[i+1][j],dp[i][j-1]));
        }
    }
    while(m--){
        int l=read,r=read;
        cout<<dp[l][r]<<endl;
    }
  return 0;
}
目录
相关文章
|
6天前
代码随想录 Day40 动态规划08 LeetCodeT198打家劫舍 T213打家劫舍II T337 打家劫舍III
代码随想录 Day40 动态规划08 LeetCodeT198打家劫舍 T213打家劫舍II T337 打家劫舍III
30 0
|
6月前
|
算法
代码随想录算法训练营第四十七天 | LeetCode 198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III
代码随想录算法训练营第四十七天 | LeetCode 198. 打家劫舍、213. 打家劫舍 II、337. 打家劫舍 III
33 1
|
11月前
leetcode 315周赛 解题报告
leetcode 315周赛 解题报告
44 0
|
11月前
|
机器学习/深度学习 人工智能 移动开发
|
11月前
|
机器学习/深度学习 人工智能 移动开发
|
11月前
|
人工智能 BI
|
11月前
|
机器学习/深度学习 存储 算法
代码随想录训练营day48| 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
代码随想录训练营day48| 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
|
存储
AcWing第98和99周赛
AcWing第98和99周赛
77 0
|
算法
【AcWing&&牛客】打表找规律
【AcWing&&牛客】打表找规律
66 0
代码随想录刷题|LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III
代码随想录刷题|LeetCode 198.打家劫舍 213.打家劫舍II 337.打家劫舍III