关注
public static void getMax(int[] nums,int k){
int len=nums.length;
long[] preXor=new long[len];
preXor[0]=nums[0];
for (int i = 1; i < len; i++) {
preXor[i]^=nums[i];
}
//dp[i][j] 表示 分为 i 段 时 以 j为结尾的 最大异或和
long[][] dp = new long[k + 1][len];
dp[1]=preXor;
for (int i = 2; i <=k ; i++) {
for (int j = i-1; j < len; j++) {
long val=0;
for (int l = j-1; l >=0 ; l--) {
/* 多了一个数字 j ,
这个数字必然在 分段的最后一段中 ,最后一段分多长呢?
只能遍历 preXor[j]^preXor[l] 再 加 前面的数字 分为 i-1段
时的最大值
*/
val=Math.max(val,dp[i-1][l]+(preXor[j]^preXor[l]));
}
dp[i][j]=val;
}
}
System.out.println(dp[k][len-1]);
}
查看原帖
点赞 1
牛客热帖
更多
正在热议
更多
# 找工作能把i人逼成什么样 #
5030次浏览 50人参与
# 面试尴尬现场 #
198837次浏览 753人参与
# 百融云创求职进展汇总 #
22383次浏览 145人参与
# 0经验如何找实习? #
15308次浏览 299人参与
# 最难的技术面是哪家公司? #
60120次浏览 937人参与
# 你今年做了几份实习? #
4529次浏览 66人参与
# 腾讯音乐求职进展汇总 #
143009次浏览 1032人参与
# 字节出了豆包coding模型 #
4578次浏览 49人参与
# 你找工作经历过哪些骗局? #
5666次浏览 100人参与
# 实习心态崩了 #
93835次浏览 487人参与
# 你开始找寒假实习了吗? #
8675次浏览 137人参与
# 实习越久越好,还是多多益善? #
11810次浏览 98人参与
# 25年找工作是什么难度? #
8243次浏览 89人参与
# 一上班就想____,这正常吗? #
2907次浏览 62人参与
# 刚工作,应该先搞钱or搞成长? #
4694次浏览 67人参与
# 离职你会和父母说吗? #
6330次浏览 86人参与
# 你投了多少家公司?进展是___ #
183390次浏览 1135人参与
# 如果公司降薪,你会跳槽吗? #
109311次浏览 687人参与
# 实习必须要去大厂吗? #
168402次浏览 1660人参与
# 你是怎么和mt相处的? #
82549次浏览 436人参与
# 你会为了工作牺牲生活吗? #
65066次浏览 446人参与