У Генденштейна теория так себе дана, но очень хорошо подобраны задачи к ЕГЭ, за ЕГЭ он тоже особо не выходит. Т.е. его учебник неплохо подходит для профильных классов обычных школ, где дети будут поступать по ЕГЭ в средние инженерные вузы, если учитель в состоянии еще теорию там сам дополнить, то совсем хорошо. Но одного учебника даже для дви в мгу не хватит, не говоря уж об олимпиадах. В Мякишеве довольно подробно изложена теория (по мне так слишком подробно), но он совершенно не учит решать задачи ни олимпиад, ни ЕГЭ.