「10.13」毛一琛(meet in the middle)·毛二琛(DP)·毛三琛(二分+随机化???)

A. 毛一琛


考虑到直接枚举的话时间复杂度很高,我们运用$meet\ in\ the\ middle$的思想

一般这种思想看似主要用在搜索这类算法中

发现直接枚举时间复杂度过高考虑枚举一半另一半通过其他算法统计,保证两边互不影响

今天的题我们考虑枚举先枚举左半部分,然后每个物品有三种取值情况

选入A集合,选入B集合,不选,系数不同

考虑完左半部分再去考虑右半部分,那么我们可以用哈系表先从将左半部分的答案统计出来

然后右半部分查询他的相反数注意去重

也可以用将两边状态都用结构体存下来

注意去重

 思路积累:

1.哈系表真是个好东西QWQ,然而我不会....

2.meet int the middle 用于搜索状态太大,折半搜索

B. 毛二琛


 大神题,不会

C. 毛三琛


 二分+玄玄玄玄玄玄学剪枝

SB题即视感

然后在二分中$check$一下

思路积累:

1.二分考虑最优性剪枝

 

 

 

你可能感兴趣的:(「10.13」毛一琛(meet in the middle)·毛二琛(DP)·毛三琛(二分+随机化???))