uHunt is a complementary tool for UVa online-judge
that keeps statistics, provide selections of problems to solve, and exposes a web API for other web developers to build upon it.
See a brief history of uHunt.
Steven Halim and I published the Competitive Programming book which is targetted
to help regular computer science students to quickly get up and running for the
ACM ICPC as well as IOI.
The book discusses the types of problems that are frequently occurs in programming contests.
The exercises have been integrated to this uHunt tool so that you can keep track of your progress.
To get started, select a chapter from the table on the right.
Each chapter has starred problems (i.e., a must try problem). Happy solving :)
Next Problems to Solve
You can view your unsolved/solved problems, sort them, filter by volume, etc.
If you just want to solve as many problems as quickly as possible,
it's convinient to pick problems according to the dacu (distinct accepted users) in descending order.
The bigger the dacu the easier the problem should be and the more probable
it will appear in the UVa discussion board.
Show : [
25 |
50 |
100
] View : [
unsolved |
solved |
both
]
Volume : ALL
No
Number
Problem Title
nos
anos
%anos
dacu
best
yours
diff
rank
Volumes
ALL
null%
World Ranklist
Below is the Author Ranklist (it is a bit different in the sorting order: ac, nos instead of ac, tried, nos). The additional columns: "2d, 7d, 31d" represents the number of (distinct) solved problems in the past 2 days, 7 days, 31 days.
It is good to have partners (or rivals) in any competitions. Rivals can give you strong motivations to improve yourself. One of the motivations can be: "to solve any problem that your rivals solves, just to stay ahead from your rivals :)".
Using set manipulations you can merge your statistics with your partners and compare it with other groups of rivals :D interesting, isn't it? See the following examples. Later on, the variables A,B,C,D,E should be replaced by the usernames of the users.
To know what are the the problems you (A) have solved but your rivals (B,C,D,E) do not, execute the following set operation: A-B-C-D-E or A-(B+C+D+E).
Suppose you and your partners form a group (A,C) and your rivals form another group (B,E). To see what problems that your group hasn't solved but your rival has, execute this set operation: (A+C)-(B+E).
Now if you want to know what are the problems that your group and your rivals have not solved, there is a special set S which contains all problems in UVa. So you can do set operation: S-(A+C)-(B+E) or S-(A+C+B+E) or S-A-C-B-E.
There are other special sets: cp3 and cp3s which contains all problems in the 3rd edition Competitive Programming book and the starred only. For the 1st and 2nd edition exercises, change the number accordingly (cp1, cp1s, cp2, cp2s).
The available operators are:
union +,
subtraction -,
intersection &,
and brackets () to force operator precedence.
Web API - Build Your Own Tool
I have published a Web API for acquiring real-time UVa statistics.
Please subscribe to
uhunt-api mailing list
to receive updates and discuss about the API.
You are free to use the API to build your own statistical tools.
Let me know if you have build a great tool based on this API.
I will add your tool to the list below:
uHunt Components - demonstrates how the API can be used to build uHunt website (see series.html for building the training series).
It is important to measure your performance under contest settings.
If you want to solve 5 problems in 3 hours, this tool can help you to measure it.
First, pick (using the problem picker) a set of unsolved problems (categorized by the difficulty levels).
Then set the start date and duration and create a virtual contest using the following generator.
If you want compete against shadow contestants from the past UVa contests,
you can click the past contests and select from one of the past UVa contests.
The link to the virtual contest will appear after you generate it
(only people that know the link are able to view it).
Select the contest title to get the list of problems from that past contest.
The solved column denotes how many problems solved by the contestants listed in the above field.
The problems column denotes the number of problems in that past contest.
The dacu column shows the total of distinct accepted users on the unsolved problems.
The duration column denotes the contest duration.
Show : [
25 |
50 |
100 |
ALL
] View : [
unsolved |
solved |
both
]
Past Contests
Q: What are the meaning of the colors on some problem numbers?
A: The problem number will will be colored
Red if it was last submitted less than 2 days ago,
Green for less than 1 week ago,
Blue for less than 1 month ago,
Orange if the problem is not yet Accepted,
otherwise, Black.
In the ChatBox and in the Live Submissions, some problem numbers will be
underlined if you have solved the problem.
The bold problem numbers in the statistics denotes that
the runtime of your submission is equal to the best runtime (rank 1 of that problem).