What's on the contest?
To better prepare contestants for USACO Bronze, the main concepts that ANCO problems involve will be the root of many USACO Bronze problems: complete search, greedy algorithms, and ad hoc problems. Additionally, knowledge of Big O notation is a must for this contest, as it is for USACO Bronze.
Of course, these problems are going to be easier than USACO Bronze problems (that's the entire point of this contest lol), but they will provide you with an excellent foundation to go into USACO Bronze.
Learn more about topics covered on ANCO▾
Complete Search▾
Complete search is a method of solving a problem that involves directly checking every piece of data given (e.g. looping through each element of an array of size 100 once).
The most basic example of complete search is finding the sum of an array.
Ad Hoc Problems▾
Ad hoc problems require creative, original solutions that stray away from “traditional” patterns. These problems do not have a “textbook” way of solving it, and it is up to you to come up with a solution!
Greedy Algorithms▾
Solving a problem with a greedy algorithm involves performing the best move at every step, no matter what.
An example of this would be that every day for 100 days, you are given two containers each containing a different positive amount of money, and you want to maximize how much money you earn at the end of 100 days. The answer to this is clearly choosing whichever container has more money on any given day, which involves performing the best move at any step, which is an example of a greedy algorithm.
Big O Notation▾
How do I practice?▾
You can practice via Codeforces! On Codeforces you are able to customize what kinds of problems. All you need to practice is a Codeforces account.
To pick a custom problem, go to Problemset (in the top bar), and then, on the 2nd box on the right, click “Add tag.” Here is what tag you should add for each kind of problem:
- Complete search: brute force
- Ad hoc: constructive algorithms
- Greedy algorithms: greedy
Ideally, for ANCO, you would want to practice with problems rated less than or equal to 1000, so for difficulty, enter 800–1000 after all such tags are applied.