作者dlikeayu (太阳拳vs野球拳)
看板C_Sharp
标题Fw: [问题] 不重覆的排列组合
时间Thu Jun 7 19:56:19 2012
※ [本文转录自 Prob_Solve 看板 #1Fq9QlzU ]
作者: dlikeayu (太阳拳vs野球拳) 看板: Prob_Solve
标题: [问题] 不重覆的排列组合
时间: Thu Jun 7 19:55:22 2012
有个问题想要请较大家
我有两组SET
甲 {A,B,C}优先权低
乙{A,D,E}优先权高
然後我有一串值
{B,C,E,B,A,D,E}
我要从中选出来
甲或乙各有几组
被选走的就不能再被用
所以要是乙跟甲都能组合的话
乙会优先抽走
因为值很少
可以自己算出
甲 0 组
乙 1 组
剩BBCE
请问用算的这种有什麽演算法能适用解决呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.61.247.2
※ dlikeayu:转录至看板 PHP 06/07 19:55
※ 发信站: 批踢踢实业坊(ptt.cc)
※ 转录者: dlikeayu (210.61.247.2), 时间: 06/07/2012 19:56:19
1F:→ ssccg:既然有优先顺序,不就算出最多能抽几组乙,减掉这数量再算 06/07 20:13
2F:→ ssccg:最多几组甲就好了? 06/07 20:13
如果这是个function ,那要怎麽知道有几组乙(不重覆),asp.net的方法我不太熟
然後去执行交集运算C#(刚从数学版得到的资讯 )几次
http://msdn.microsoft.com/zh-tw/library/system.linq.enumerable.except.aspx
※ 编辑: dlikeayu 来自: 1.34.4.90 (06/08 00:07)
又集合了几个网友的资讯
C# ASP.NET 有 counting sort的函式可用吗?
先排出优先权最高的set放进一List或array
然後再counting sort知道有n组 乙set
差集运算 n 次
下一个set
loop
※ 编辑: dlikeayu 来自: 1.34.4.90 (06/08 00:24)