Split the grid into orthogonally connected regions, one for each clue. The number at the top of a clue must be equal to the number of cells within the region that lie above the clue, regardless of horizontal position. The other numbers work analogously for cells to the right, below and to the left of the clue.
Or see the puzzle wiki. The type is due to Silke Berendes.