摘要: 分析: 化简一下我们可以发现,suma*ans=sumb,那么我们考虑二分ans,之后做树形背包上做剪枝。 时间复杂度证明,By GXZlegend O(nklogans) 附上代码: 其实这种方法就能跑的飞起,虽然是递归的,并且状态和转移比较多。 其实还有别的方法,比如说将它转化为dfs序上做背包 阅读全文
posted @ 2018-05-26 22:44 Winniechen 阅读(372) 评论(0) 推荐(0)
摘要: 点分治: 通常用来处理树上路径信息,选出部分,把部分的全部处理更新答案,用部分与部分之间的联系求出整体。 一般,我们选择重心作为分治对象。 对两个不属于统一部份的进行合并的时候,我们通常需要预处理出到分治中心的信息,再对这种信息进行合并。 点分治很多题的关键在于容斥原理,容斥原理通常能够排除掉很多不 阅读全文
posted @ 2018-05-26 21:52 Winniechen 阅读(466) 评论(0) 推荐(2)