First of all definition of Dictionary based coding techniques (Important words are highlighted).
A dictionary coder, also sometimes known as a substitution coder, is a class of lossless data compression algorithms which operate by searching for matches between the text to be compressed and a set of strings contained in a data structure (called the 'dictionary') maintained by the encoder. When the encoder finds such a match, it substitutes a reference to the string's position in the data structure.
If you have watched movie "Mission Impossible -1" starring by Tom Cruise then you can understand, that When Etan Hunt was communication with Max then he was using Bible for encoding his message. It is similar like that.
Now comes to your question. Option A, Option B and Option C, all are statistical based coding techniques. In statistical based coding techniques we will encode text according to the frequent occurance of the alphabets.
Hence Option D : LZW coding is the correct answer. It uses a dictionary to code the input text.
Here is the reference, you can go through this to understand this.