我被要求回答这个问题(它实际上是作业),已经想过使用哈希表,但我卡在了如何精确地使其工作的细节上。
以下是问题:
给定k个整数集合A1,A2,...,Ak,总大小为O(n),您应该确定是否存在a1 ϵ A1,a2 ϵ A2,...,ak ϵ Ak,使得a1+a2+...+ak−1=ak。您的算法应在Tk(n)时间内运行,其中Tk(n)= O(nk/2 × log n)对于偶数k,O(n(k+1)/2)对于奇数k。
有人可以给我一个大致的方向,以便我更接近解决此问题吗?
我被要求回答这个问题(它实际上是作业),已经想过使用哈希表,但我卡在了如何精确地使其工作的细节上。
以下是问题:
给定k个整数集合A1,A2,...,Ak,总大小为O(n),您应该确定是否存在a1 ϵ A1,a2 ϵ A2,...,ak ϵ Ak,使得a1+a2+...+ak−1=ak。您的算法应在Tk(n)时间内运行,其中Tk(n)= O(nk/2 × log n)对于偶数k,O(n(k+1)/2)对于奇数k。
有人可以给我一个大致的方向,以便我更接近解决此问题吗?