The k-means problem is a classic NP-hard problem in machine learning and computational geometry, and its goal is to separate the given set into k clusters according to the minimal squared distance. According to the different practical background, the k-means problem has many variants, such as k-means problem with penalties, spherical k-means problem, functional k-means problem, and so on. The k-means algorithm (also known as Lloyd's algorithm) is the most effective heuristic algorithm to solve k-means problem, which is also one of the Top 10 algorithms in data mining. Although the approximation algorithm cannot be analyzed directly in theory, but the Lloyd's algorithm can be extended into an effective approximation algorithm based on the seeding algorithm. In this talk, we will introduce how to use seeding algorithms to solve k-means problem and its variant problems.