题目
https://leetcode.com/problems/largest-divisible-subset/description/
想法
没有什么思路…或许贪心?
不,应该可以从数学的角度上解决的。
如果能任意地被整除,需要满足什么条件呢?
每添加进一个,都可以被这个set中的每一个整除
这样一来,是个O(n^2 )的复杂度,可以吗?
先试试吧
不对,不是O(n^2 ),排序需要nlog n,因为已经序的了,应该只用O(n k),k是set的数量
|
|
嗯,看来自己本来有一些Naive了
没有考虑到这样的情况
那看来原来的想法是不行的
一个更明显的例子:
考虑用DP做因为,大数可以表示成因式的和
看问题的样子,是很符合贪心的策略的,但是怎么用呢?
唔,有必要补一补基础知识了,唉,先看下答案吧,不想想了orz
尝试建一个多叉树
做完之后,调了好多bug,却发现也同样没有考虑到那个问题,唉,本质上和原来是一样的
|
|
参考答案
哈?答案一票都是用DP的???
https://discuss.leetcode.com/topic/49456/c-solution-with-explanations
勉强看懂,看是不保证自己能写出来,这题就先放过吧,日后再做。