I coached Track & Field for 7 years and ran in college. I was never a sprint/jump coach, but I do have a little insight for you.
First off, the bad news. You say you can get a cm above the rim? At my best I could get about 25 cm above the rim with one hand and have never been able to dunk a basketball. In order to dunk you either need to be able to palm the ball, or you need to get your hand slightly above the mid point of the ball when its above the rim so that you can push down. That means you need to get the bottom of your palm about 5" above the rim. So you've got about 11" or 12" to go.
In order to improve your jumping, in addition to our lifting you need to do dynamic and plyometric type exercises. It's not enough to be strong, and its not enough to be fast and explosive. Your neuromuscular system needs to be very quick and responsive. Think about hitting a punching bag. You want to explode, hit it hard, and rebound off the bag as quickly as you can.
You need to train your legs to hit the ground and immediately spring into the air.
The best for this are box jumps. You force yourself to explode to jump up onto the box, but more importantly, you want to drop off the box, hit the ground, and jump onto the next box as quickly as possible. The added force of your body hitting the ground after a drop will train your legs to respond to the additional impact.
jumping rope will also help, as well as simply practicing your jumping.
So 1) box jumps, 2) practice jumping, 3) jump rope, 4) lift, and 5) don't get fat.