pku 1186(DFS+hash)

来源:互联网 发布:java项目反编译 编辑:程序博客网 时间:2024/06/12 00:54

将方程一分为二,一半元素留在左边,另一边移至右边,然后分2次DFS,搜索左边的元素时,将每次取到的总和存入hash。

若重复出现,则增加引用计数。

DFS右边时,对每次总和在hash中查找,若找到该元素,则sum加上该元素的出现次数。注意右边的总和要取反。

最终sum即为解的个数。