The best solution is to perform a quick Exploratory Smoke Test.
Your aim here is double:
1. Try to find, if they are there, an important number of showstopper bugs that will prompt the project team to stop the project and give you more time to test.
2. Run a quick end-to-end sanity of the product and determine that as much as possible it is ready to move along your process.
In any case, you need to perform a quick risk analysis and make sure not to waste your time by performing tests that go too deep into the functionality.
Risk based testing is the best answer but if we need to think anything other than this then as soon as the new build has come we can do a smoke test first if things are fine its better to perform adhoc test but should be done by th testers having good knowledge of the application or in others words should understand the business behind the application.
I feel that ad hoc wont be a right approach! here we are talking about testing entire build within short time, ad hoc is best to use for testing a functionality and not the entire application.
Considering the less time factor; smoke testing is the better option to look for; also for some of the functionalities we can test it by adhoc testing (but in the end).otherwise ad hc does not guarantee bug catching!