关注
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
相关推荐
查看15道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客树洞,我想对你说 #
27742次浏览 196人参与
# 选择和努力,哪个更重要? #
117044次浏览 937人参与
# 快手技术岗信息交流阵地 #
10715次浏览 71人参与
# 秋招许愿,本周能____ #
5844次浏览 47人参与
# 新凯来求职进展汇总 #
56441次浏览 148人参与
# 为了实习逃课值吗? #
3552次浏览 44人参与
# “vivo”个offer #
6593次浏览 55人参与
# 大学最后一个寒假,我想…… #
58130次浏览 636人参与
# 华为海思工作体验 #
32333次浏览 137人参与
# 运营每日一题 #
106219次浏览 874人参与
# 如何KTV领导 #
75804次浏览 512人参与
# 除了主业以外,你还有哪些其他收入? #
33701次浏览 299人参与
# 哪些公司校招卡第一学历 #
216929次浏览 770人参与
# 你最满意的offer薪资是哪家公司? #
44502次浏览 218人参与
# 25届非技术实习投递记录 #
133810次浏览 993人参与
# 你最近一次加班是什么时候? #
95709次浏览 518人参与
# 求职中的尴尬瞬间 #
10454次浏览 69人参与
# 应届生被毁约被毁意向了怎么办 #
49774次浏览 283人参与
# 硬件人的春招flag #
54274次浏览 436人参与
# 秋招想进国企该如何准备 #
100111次浏览 499人参与
# 歌尔求职进展汇总 #
70214次浏览 357人参与
# 为什么国企只招应届生 #
210736次浏览 1241人参与