![]() | 1 crella OP 想过一个歪门邪道的办法,那就是把列表的文本形式(排序后的)也缓存起来,然后去重的时候仅比较两个列表的文本是否相同 |
2 ConradG 2020-05-17 20:23:43 +08:00 C(M, b1) * C(M-b1, b2) * C(M-b1-b2, b3) ...就行了啊 |
![]() | 3 beidounanxizi 2020-05-17 20:23:58 +08:00 dp[i,m]=dp[i-1,m-b[i]]+N; N = m 个元素里面取 b[i]个元素 大概思路这样子 也许 dfs+剪枝可以做 |
4 teawithlife 2020-05-17 20:25:49 +08:00 ![]() 不知道我理解的是否正确,这不就是一个简单的组合问题么? C(6,2)*C(4,2)*C(2,1)*C(1,1)=15*6*2*1=180 |
![]() | 5 beidounanxizi 2020-05-17 20:29:13 +08:00 fix 一点 dp[i,m]=dp[i-1,m-b[i]] * N; |
6 duality 2020-05-18 02:45:20 +08:00 这个结构叫做 lambda 划分的杨格 给定 n, 令 lambda = (n_1, n_2, ..., n_m), n_1 <= n_2 <= ... <= n_m, n_1+ n_2 + ... + n_m = n 为一个划分 对于一个给定的划分 对应的杨格数量是 n!/lambda! = n!/(n_1! n_2! ... n_m!) |
7 duality 2020-05-18 02:45:54 +08:00 |
![]() | 8 necomancer 2020-05-18 03:29:51 +08:00 n 个元素划分 k 类? 我知道 SageMath 有 SetPartitions(6, [2,2,1,1]).list(),好像还有 OrderedSetPartition,后者才等于楼上提到的 n!/(n_1!n_2!..n_k!),你需要不考虑顺序的应该是用第一个函数。 |
![]() | 9 necomancer 2020-05-18 03:57:02 +08:00 按你的要求,应该是 45 个而不是 180 个。 |
10 guchengyehai1 2020-05-18 08:55:31 +08:00 via Android 首先 A 数组来个全排列?再分组 |
11 qwertyegg 2020-05-18 09:12:56 +08:00 很明显的 DFS 吧 |
![]() | 12 wingor2015 2020-05-20 10:57:43 +08:00 import itertools def get_slice_unequal(nums, groups): datas = itertools.combinations(nums, groups[0]) if len(groups) == 1: return [[list(item)] for item in datas] res = list() for item in datas: for sub_item in get_slice_unequal(list(set(nums) - set(item)), groups[1:]): new_item = [list(item)] res.append(new_item + sub_item) return res nums = [1, 2, 3, 4, 5, 6] numsb = [2, 2, 1, 1] res = get_slice_unequal(nums, numsb) for item in res: print(item) print(len(res)) |
![]() | 13 wingor2015 2020-05-20 11:01:48 +08:00 import itertools def get_slice_unequal(nums, groups): datas = itertools.combinations(nums, groups[0]) if len(groups) == 1: return [[list(item)] for item in datas] res = list() for item in datas: for sub_item in get_slice_unequal(list(set(nums) - set(item)), groups[1:]): new_item = [list(item)] res.append(new_item + sub_item) return res |
![]() | 14 wingor2015 2020-05-20 11:02:13 +08:00 擦,这玩意没法编辑格式吗 |
15 dahuahua 2020-05-22 23:41:49 +08:00 跟美团的春招笔试题好像 |