会员专享
请先
登录,登录后可使用今日免费解锁;
开通会员,或
购买
该题目所属题库
,可解锁完整内容。
思路:动态规划
定义dp[i][num][j]为考虑前i个元素且当前存在j个1(可移动)且以元素num结尾的最小答案.
如果当前物品不能移动,那么有
dp[i][num][j]=min(dp[i][num][j],dp[i−1][0/1][num−currentOne]+(currentOne xor k))。
如果当前物品可以移动,那么还需要更新dp数组中可以移动的部分,转移方程同上。