We investigate the problem of influence maximization in a social network. Building on the widely used threshold diffusion model where each node has a threshold and is activated when the influence it receives is above the threshold, we define a critical threshold vector as a vector (consisting of the thresholds for all nodes) that guarantees influence spreading to the entire network, but any larger threshold vector would result in spreading to only part of the network. We show that a critical threshold vector can be translated to a graph coloring, based on which we establish a necessary condition for influence maximization. Further, we propose a k-neighborhood decomposition method to construct a critical threshold vector, and show that this method can be used to find a large family of critical threshold vectors. We also explore the connection between critical threshold vectors and graph orientations, as well as the properties of the k-neighborhood decomposition.