
搜索
acInfinity
CS
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
组合总和 II
题意 给定数组candidates及数字target,找出所有能和为target的组合方式。 hint: 每个组合中candidate中的元素只能使用一次,ex. candidates中有两个1,那么每个组合方式中1最多只能出现两次; candidatas中可能包含重复元素; 重复的组合方式保留其一即可; 解法 对于这种没有明确思路,又要找出所有解法的题目,显然搜索是可以解决的。 class Solution: def __init__(self): self.原创 2020-12-27 16:37:57 · 288 阅读 · 2 评论 -
HDU 5305
HDU 5305题意是有n个人,m对朋友关系,朋友可以使在线朋友和离线朋友,对于单个人,他的在线朋友和离线朋友数必须一致,请问有几种方案。 题目中n并不大,不超过8,那么暴力一点,用搜索,穷尽所有方案并判断是否可行,求出可行方案数。 为了使搜索更加高效,我们先进行状态压缩,bin(x0,x1,x2…xn)表示一个人的朋友情况,xi位为1表示与i是在线朋友,转化成十进制保存在sta数组。先预处理出原创 2017-03-01 16:20:20 · 345 阅读 · 0 评论 -
ZOJ - 3949 Edge to the Root
Edge to the Root题意是给出一个棵树,每条边权都为1,要求在点1和点x之间连一条边,使得连边之后,点1到所有点的路径长度之和最小。 输出最小长度之和。 显然对于一棵树,添一条边之后,形成了一个环,一个在1-x的路径上的环,这个环的形成只对环上的点以及他们的子树上的点的距离产生了影响。 更准确地说,是对环的中点一下的点及子树产生了影响。 cnt数组记录每个点的子树大小+1(加上自己原创 2017-04-16 20:52:44 · 1004 阅读 · 0 评论