71770061 acm icpc programming contest orientation
Post on 19-Jul-2015
154 Views
Preview:
TRANSCRIPT
Welcome toComputer Programming Contest OrientationPresented by Ahmed Shamsul Arefin The University of Newcastle, Australia
Ahmed.Arefin@newcastle.edu.au
Based on a Programming Contest Training Workshop by Shahriar Manzoor (Judge, WF Contest) and Rezaul Alam Chowdhury (Faculty, State University of New York at Stony Brook). 11/6/2011 1
Part One General InformationConduct of the Contest Computing Environment Judgment Scoring
11/6/2011
2
Recap -
ACM South Pacific Regional Contest Results 2011
University of New South WalesTeam name: 13337 ViSu4L B451c PWN3RZ!11! Team Kitten Tofu Jarrah Lacko Christopher Chen
Coach Tim Lambert
11/6/2011
3
Recap- Regional Top 10Place Team University Solutions Time
12 3
13337 ViSu4L B451c PWN3RZ!11!Brogrammers DatJoCur
University of New South WalesUniversity of Sydney Queensland University of Technology
108 6
10251320 943
4 5 6 7 8
Pre-Raphaelite Shaolin Funrolled Loops DJ Tomato INT_MIN / -1 (red) lg(k)
University of New South Wales University of Canterbury Victoria University of Wellington University of Auckland University of New South Wales
5 5 5 5 5
414 423 458 486 665
9 10
Special Tactics UTas A
University of Western Australia University of Tasmania
5 4
885 227
11/6/2011
http://www.sppcontest.org/2011/SP_Results_2011.html#Australia
4
Bigger Picture (World Final)Year 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001 2000 1999 1998 1997 1996 1995 1994 1993 1992 1991 1990 Institution Zhejiang University Shanghai Jiao Tong University Saint Petersburg State University of Information Technologies, Mechanics and Optics Saint Petersburg State University of Information Technologies, Mechanics and Optics University of Warsaw Saratov State University Shanghai Jiao Tong University Saint Petersburg State University of Information Technologies, Mechanics and Optics University of Warsaw Shanghai Jiao Tong University St. Petersburg State University St. Petersburg State University University of Waterloo Charles University Harvey Mudd College University of California, Berkeley Albert-Ludwigs-Universitt University of Waterloo Harvard University University of Melbourne Stanford University University of Otago Country China China Russia Russia Poland Russia China Russia Poland China Russia Russia Canada Czech Republic United States United States Freiburg, Germany Canada United States Australia United States New Zealand 6 4 4 2 2
5
Recap- Contest Environment
Picture Source : Internet/ Google Uncle!11/6/2011 6
Conduct of the Contest Exactly eight (8) to ten(10) programming problems will be posed in English. Only one (1) computer is allocated for each team. The contest will run for five (5) hours. Teams will try to write the solutions of the problems in any one of the programming languages allowed (C/C++,Java) and submit for acceptance.11/6/2011 7
Conduct of the ContestAllowed:Resource materials such as books, manuals, and printed program listings.
Prohibited: Machine readable versions of programs
or data. Calculators, laptop/palmtop computers. Mobile phones and other communication devices.11/6/2011 8
Conduct of the ContestProhibited:Conversation (during contest hours) with anyone (including the coach) except members of own team and system support staffs. Any activity that jeopardizes the contest.
11/6/2011
9
Conduct of the Contest (del)Contest Duration: The Chairman of the Program Committee has the authority to change the duration of the contest in the event of unforeseen difficulties. In case of interruption of power for duration of less than 30 minutes, contest will continue for at least half an hour after the restoration of power (Not Applicable in AUSTRALIA). In any case the exact timing will be decided according to the situation.11/6/2011 10
Computing EnvironmentOne team, one computer. All the computers run on same operating system (Windows or Linux). All computers are networked together. Programming languages allowed are : C, C++ and Java. Convenient development tools will be provided for each of the languages. Solutions must be submitted to the judges through network using the PC2 judging utility.11/6/2011 11
Judgement
If you are confident about your solution to a problem, submit it for judgement. Each of your submitted runs is judged as accepted or rejected, and you will be notified of the results with full-screen messages.12
11/6/2011
JudgementAccepted Solutions:Will be notified as Correct.
Rejected Solutions: Incorrect Output. No Output.
Presentation Error. Run Time Error. Time Limit Exceeded.11/6/2011 13
JudgementCorrect: Your solution must read input from a file specified in the program description and produce output to the standard output. But when the judges test your program that input file contains some additional secret data specially designed to check the correctness of a solution. If the output of your program matches with what the judges expected, your solution is considered Correct.11/6/2011 14
JudgementIncorrect Output: If the output of your program does not match with what the judges expect, you will get an Incorrect Output notification.
11/6/2011
15
JudgementNo Output: Your program runs but does not produce any output for the judges secret input data.
Some Possible Causes: The name or the path of the input file in
your program may be written incorrectly. The input file will always be in the current directory. Assuming incorrect input data format. Run time error.11/6/2011 16
JudgementPresentation Error: Possibly your solution produces correct output for the judges secret data, but does not print it in the proper format.
Some Possible Causes: White-space and newline characters in
improper numbers and positions. Spelling mistake. Case mismatch.11/6/2011 17
JudgementRun Time Error: Your program performs an illegal operation when run on the judges input.
Some Illegal Operations: Invalid memory access.
Divide by zero. Overflow. Domain error.
11/6/2011
18
JudgementTime Limit Exceeded: The judges allow your program to produce output for their secret data within a specific time period. If your program fails to do so, you get a TLE notification.
Some Possible Causes: Using an inefficient algorithm. Infinite loop. Waiting for input from standard input
device. 11/6/2011 Assuming wrong input data format.
19
Scoring Teams are ranked according to the most problems solved (judged Correct). Teams who solve the same number of problems are ranked by least total penalty time. Teams who are still tied are ranked by the earliest time of submittal of the last accepted problem.
11/6/2011
20
ScoringSample Calculation: Say a team has submitted the correct solution of a problem at the 120th minute, but made 3 rejected submissions before the correct one. So, penalty = 120 + 20 3 = 180 minutes. Now, if they submit the correct solution of another problem at the 300th minute with 4 rejected submissions before the correct one, then total penalty = (300 + 20 4) + 180 = 380 + 180 = 560 minutes.(This figure is illustrative, i.e., based on a different penalty value)
11/6/2011
21
Part Two Tips on Team StrategyFrequently Set Problems Efficient Programming Team Strategy
11/6/2011
22
A Good Programming Team
Must have knowledge of standard algorithms and the ability to find an appropriate algorithm for every problem in the set. Ability to code an algorithm into a working program. A strategy of co-operation with teammates.
11/6/2011
23
Frequently Set ProblemsSearch Problems Graph Problems Geometric Problems Dynamic Programming Problems Trivial Problems Non-standard Problems
11/6/2011
24
Efficient ProgrammingDoes not mean: Type as fast as you can. Subsequently spend a lot of time debugging.
Instead: Think carefully about the problem and all
the cases which might occur. Then program your algorithm, and take the time to ensure that you get it right the first time with a minimum amount of debugging.11/6/2011 25
To Become a TeamPlay a lot of training contests under circumstances which are as close to the real contest as possible. Practice! Practice!! Practice!!!http://uva.onlinejudge.org/
11/6/2011
26
Tips on Team StrategyAnalyze the problem set first. Try to divide the problems into difficulty classes: easy, medium, hard, etc. Try to solve the easy problems first. Be careful not to misjudge the difficulty of a problem.
11/6/2011
27
Tips on Team Strategy Every member need not know all arts of programming but everyone must have the basic skills of programming such as writing procedures, debugging, compiling. Then some may be specialized for searching, graph traversing problems, some other dynamic programming and one should have deep knowledge of mathematics, etc.
11/6/2011
28
Tips on Team Strategy Every team member should know every other members weakness and strength so when he reads a problem he should understand who is The MAN to solve that problem.
11/6/2011
29
Tips on Team StrategyDont waste much of your time with a single problem. Your team mate may find a good solution quickly for that. Try to read all problems.
11/6/2011
30
Tips on Team StrategyThe team members should have good understanding between them because they will have to decide when one will leave the computer. Always think about the welfare of the team. Contest is not a time to become selfish. You should not think like Oh, I have finished my quota or I must solve one problem any how or I will be dropped next time.11/6/2011 31
Tips on Team Strategy The most efficient way to write a program is to write it alone. Thus you avoid communication overhead and the confusion caused by differing programming style. Solving problems together can also be helpful. This strategy works out when the question is hard. This is also good for the team whose aim is to solve at least one problem.
11/6/2011
32
Tips on Team StrategyIn a 5 hour contest you have 15 man hours and only 5 computer hours. So computer time is extremely valuable. It will be a great pity if all three man are busy with solving problems and the computer is left lonely.
11/6/2011
33
Tips on Team Strategy
If the easiest problem of the contest is getting rejected for some silly mistakes then it is often a good idea to redo the problem (by some other member of the team).
11/6/2011
34
Tips on Team StrategyTry to see the current standing and also find out which problem is solved most. If that problem is not solved by your team then try to solve it immediately.
11/6/2011
35
Tips on Team StrategyUse the chair in front of the computer only for typing and not for thinking. Write your program on the paper, analyze it and then go in front of the computer. When your solution gets rejected by the judges try to think about your mistakes rather than debugging on the computer. REAL TIME DEBUGGING is the ultimate Sin.
11/6/2011
36
Final Words on StrategyThe Scoring system of a Contest is digital. So you dont get any point for a 99 % solved problem. That is why, dont try to attack too many problems. At the end of the contest you may find that you have solved all problems 90% and your team is at the bottom of the rank list.
11/6/2011
37
Sample Problem I Love Big Numbers ! The Problem A Japanese young girl went to a Science Fair at Tokyo. There she met with a Robot named Mico-12, which had AI (You must know about AI-Artificial Intelligence). The Japanese girl thought, she can do some fun with that Robot. She asked her, "Do you have any idea about maths ?"."Yes! I love mathematics", The Robot replied. "Okey ! Then I am giving you a number, you have to find out the Factorial of that number. Then find the sum of the digits of your result!. Suppose the number is 5.You first calculate 5!=120, then find sum of the digits 1+2+0=3.Can you do it?" "Yes. I can do!"Robot replied. "Suppose the number is 100, what will be the result ?".At this point the Robot started thinking and calculating. After a few minutes the Robot head burned out and it cried out loudly "Time Limit Exceeds". The girl laughed at the Robot and said "The sum is definitely 648". "How can you tell that ?" Robot asked the girl. "Because I am an ACM World Finalist and I can solve the Big Number problems easily." Saying this, the girl closed her laptop computer and went away. Now, your task is to help the Robot with the similar problem.
38
I Love Big Numbers ! The Input The input file will contain one or more test cases. Each test case consists of one line containing an integers n (n
top related