给定的小素数可整除的大小为3的子集的数量

时间:2018-07-23 11:05:29

标签: arrays subset-sum

我的问题是找到给定大小为'N'的数组的大小为3的子集,其总和可以被给定的小素数'P'整除,并且约束如下:

  1. N <= 500
  2. P <50
  3. 所有整数值均为<1000

    我找不到任何方法,想以最佳的时间和空间复杂度解决给定的问题吗?。

1 个答案:

答案 0 :(得分:-1)

嗯...这是个主意:要确定总和是否可以除以P,您并不真正在乎整数本身-仅将整数除以P即可得到提示。因此,您可以将所有整数替换为其提示。然后数一下。您根本不在乎他们的订单-只是每个订单有多少。接下来,对于任何P,您都可以枚举3个提醒的所有可能组合,并查看相加后哪个产生0,P或2P。对于所有这些组合,请查看计数以何种方式获得它们。