Abstract. Given a set N with n elements and a family F of subsets, we show how to partition N into k such subsets in 2 n n O(1) time. We also consider variations of this problem where the subsets may overlap or are weighted, and we solve the decision, counting, summation, and optimisation versions of these problems. Our algorithms are based on the principle of inclusion-exclusion and the zeta transform.In effect we get exact algorithms in 2 n n O(1) time for several well-studied partition problems including Domatic Number, Chromatic Number, Maximum k-Cut, Bin Packing, List Colouring, and the Chromatic Polynomial. We also have applications to Bayesian learning with decision graphs and to model-based data clustering.If only polynomial space is available, our algorithms run in time 3 n n O(1) if membership in F can be decided in polynomial time. We solve Chromatic Number in O(2.2461 n ) time and Domatic Number in O(2.8718 n ) time.Finally, we present a family of polynomial space approximation algorithms that find a number between χ(G) and (1 + )χ(G) in time O(1.2209 n + 2.2461 e − n ).