Le problème 3SUM essaie d'identifier 3 entiers
On suppose qu'il n'y a pas de meilleure solution que quadratique, c'est-à-dire
Je me demandais donc si cela s'appliquerait au problème généralisé: trouver des entiers
I think you can do this in
Le problème 3SUM essaie d'identifier 3 entiers
On suppose qu'il n'y a pas de meilleure solution que quadratique, c'est-à-dire
Je me demandais donc si cela s'appliquerait au problème généralisé: trouver des entiers
I think you can do this in
Réponses:
Même pourk S k / 2 S X - x O ( nk / 2bûchen )
Pour impairk S ( k - 1 ) / 2 une S X - a - x X O ( n2) O ( n( k + 1 ) / 2)
Les deux algorithmes sont optimaux (sauf éventuellement pour le facteur logarithmique lorsquek 2 k
Nir Ailon et Bernard Chazelle. Limites inférieures pour les tests de dégénérescence linéaire . JACM 2005.
Jeff Erickson. Limites inférieures pour les problèmes de satisfiabilité linéaire . CJTCS 1999.
la source
En d'autres termes, en supposant l' hypothèse de temps exponentielle , votre algorithme est optimal jusqu'à un facteur constant dans l'exposant (un facteur polynomial dansn )
(1) Mihai Patrascu et Ryan Williams. Sur la possibilité d'algorithmes SAT plus rapides. Proc. 21e Symposium ACM / SIAM sur les algorithmes discrets (SODA2010)
la source
Voici quelques observations simples.
Pourk = 1 , vous pouvez le faire en Θ ( n ) temps en balayant le tableau pour un zéro. Pourk = 2 , vous pouvez le faire sans hachage Θ ( n logn ) temps. Triez la baie puis scannez-la. Pour chaque élémentje faire une recherche binaire pour - je . Il en résulte une complexité totale deΘ ( n logn ) . Pour le cask = n vous pouvez le faire en Θ ( n ) temps en accumulant le tableau et en vérifiant le résultat.
Pour plus de références, consultez la page du projet Problèmes ouverts pour 3SUM .
la source
Voir http://arxiv.org/abs/1407.4640
Un nouvel algorithme pour résoudre le problème rSUM Valerii Sopin
Abstrait:
Un algorithme déterminé est présenté pour résoudre le problème rSUM pour tout r naturel avec une évaluation sub-quadratique de la complexité temporelle dans certains cas. En termes de quantité de mémoire utilisée, l'algorithme obtenu a également un ordre sub-quadratique. L'idée de l'algorithme obtenu est basée non pas sur les nombres entiers, mais sur k∈N bits successifs de ces nombres dans le système de numération binaire. On montre que si une somme de nombres entiers est égale à zéro, alors la somme de nombres présentée par tout k bits successifs de ces nombres doit être suffisamment "proche" de zéro. Cela permet d'écarter les chiffres qui, a fortiori, n'établissent pas la solution.
C'est quelque chose de nouveau dans ce numéro.
la source