I had been wondering just how much information Google Adsense uses to select the right contextual ads. Specifically, do they use the referring page also. I just got part of the answer:
Adsense: after search on Antwerp


A blog post of mine on Live Traffic Info briefly mentions Antwerp. The Adsense ads on the page normally show geeky ads (‘blogs’, ‘XML’, ‘bandwidth’, … I write about technical stuff too much, mea culpa).
The page also shows up high in Google when you search on antwerp traffic info. Now if you click through on the Google Search Result, you have a very high chance of getting “Antwerp” related ads. Which to me looks like Adsense also takes into account what page you just came from – at least if it’s a SERP (Search Engine Result Page).
(note: it does not work for “brussels traffic info” – apparently no advertisers for Brussels)

This is a list of things Adsense can take into account:

page related
page title, URL, keywords, language
site language, keywords(when Adsense has no info about the specific page)
visitor related
country (from IP address)
user language (from browser)
visit related
previous shown Adsense ads
referring page, search query
ad related
Adword price, ad performance, relevance