I would recommend the book by Polgar "5334 Problems, Combinations and Games." It is good way to get into the habit of calculation.
I recommend studying openings with a computer. This will help you identify why many moves are bad, something opening books don't tell you. It is a lot more important to know why a move in the opening is bad, than why a move is good.
For players of all levels, including masters, it is often a good idea to study the endgame because usually that part of their skill is the weakest, so you stand to get the most by studying it. In other words, it is low-hanging fruit.
I would recommend Nunn's books, especially "Secrets of Rook Endings".
Also, "Secrets of Pawn Endings" by Karsten Muller.
Learn just those two books solid and you will be amazed how you can beat the crap out of anybody in an endgame.
One final comment about the endgame: often in modern swisses with short time limits you have to play the endgame really fast, somethings blitz sudden death. In those situations the guy who knows the endgame ahead of time will CRUSH the other guy. Even with time on the clock it can be really hard to find the right move in an endgame. You have to know it ahead of time. In a blitz situation, people will play just incredibly bad moves one after the other in an endgame.