You don't need to spend a penny on this, let the competition waste money on ads...
Ideally you would have started this process long before your product was finished (albeit v1 is never "Finished"!), what you need to do is connect with people who have the problem that your app is going to solve, tell them how good your solution is. Do this as much as your can to create a community (or a Tribe - See Seth Godin, Tribes.) the power of this community is far greater than the advertising opportunities that exist.
Each member of this community will start spreading the work and increasing the size of the community, and it will grow exponentially. Like i said ideally you start this process long before your product is ready for 2 reasons, first it gives you valuable market research and secondly it creates desire for your product, having customers waiting for v1 is a great by product of early evangelism (See Apple - Any Product).
In terms of indexing, its an iterative process and will not happen over night you can maximise this by having a great product and writing lots of great content about the product and the problem it solves.
The way avoid being lost in a sea of competitors is by avoiding horizontal markets and commodity products, find a niche (or several) that you can effectively target, again let your competitors waste revenue trying to attract the masses, while you efficiently target more profitable niches.
All of the example companies you mentioned have in common that they either have a great product which people talk about (and link to) or they write a lot of great content which people talk about (and link to) or in many cases both.
In Summary... don't spend money on advertising when you can create a targeted, engaged community of users for Free!
All the Best.
Floyd.