@yang12138
2018-07-02T14:19:06.000000Z
字数 503
阅读 1003
未分类
给定长度为的数组,定义:
先声明一个结论:
令表示的二进制表示的的个数.
正确性显然,时间复杂度是
示例代码:
for(int k=1;k<(1<<n);k++){
int max=0,sec=0;
for(int i=k;i>=0;i--){
i&=k;
if(A[i]>max){
sec=max,max=A[i];
}
else if(A[i]>sec){
sec=A[i];
}
B[k]=max(B[k-1],max+sec);
}
}