74 lines
3.6 KiB
Markdown
74 lines
3.6 KiB
Markdown
---
|
|
slug: /general/practicing
|
|
title: How to Practice
|
|
author: Benjamin Qi, William Lin, Eric Wei, Nathan Wang, Nathan Chen
|
|
order: 4
|
|
---
|
|
|
|
How to practice, when to read editorials (analyses), etc.
|
|
<!-- END DESCRIPTION -->
|
|
|
|
## Practicing
|
|
|
|
## Reading Editorials
|
|
|
|
Knowing when to "give up" on a problem and start reading the problem's editorial
|
|
is challenging. Below are the opinions of various individuals.
|
|
|
|
Note that "give up" is in quotes, because one still learns when they "give up" and read an editorial!
|
|
|
|
### Benjamin Qi
|
|
|
|
If you're still coming up with new ideas, keep thinking. Otherwise, you have several options:
|
|
- Look at [part of] the solution. (If CodeForces, look at the tags.)
|
|
- Leave it for a while and do something else if you actually want to solve it on your own.
|
|
- Get a hint from someone else.
|
|
|
|
I'm impatient, so usually I go with the first option. Sometimes I end up reading an editorial before reading the statement, but idk if this is a good strategy. :/
|
|
|
|
In any case, if you thought about a problem a lot during a contest but didn't end up solving it, then I don't see any reason not to read the editorial when it comes out (vs. continuing to think about it on your own). Also, you should always implement the solution afterwards!
|
|
|
|
### William Lin
|
|
|
|
> I follow three guidelines (from most important to least important)
|
|
> 1. Having fun, just doing whatever you feel like doing
|
|
> 2. Spend about the same amount of time that you would be able to during a real contest
|
|
> 3. Whether you are making progress or not
|
|
|
|
Feel free to not listen to William Lin's suggestions as he is not very good himself.
|
|
|
|
### Eric Wei
|
|
|
|
> read problem editorials some time after thinking "i have no clue what i'm doing please send help" and before "if i stare at this problem for one minute longer i'm going to punch a hole in my computer", figure out the exact time yourself
|
|
|
|
### Nathan Wang
|
|
|
|
My personal opinion is that it is okay to give up early when solving CP problems.
|
|
Sometimes I spend as little as 15-20 minutes on a problem before reading the editorial
|
|
or at least glancing at solution code. Other times I may spend significantly longer.
|
|
|
|
CP editorials generally aren't the best (with the exception of USACO editorials,
|
|
which are pretty good) so I often spend a lot of time trying to understand the
|
|
solution even after "giving up" and reading the editorial. I think it's good
|
|
enough to implement the code without having the editorial open.
|
|
|
|
My justification for why I think it's okay to give up so early is as follows:
|
|
|
|
- Getting frustrated and quitting CP for a week is worse than giving up
|
|
- Whenever I feel like I'm really frustrated with a problem, I read the editorial
|
|
- CP editorials are usually difficult to understand, so you will still have
|
|
to spend a lot of time reading and understanding them
|
|
- You learn a _lot_ by reading editorials
|
|
- If you can solve a problem without reading the editorial, that means you
|
|
probably could have solved the problem in-contest too, so you didn't actually
|
|
learn that much. However, if you didn't know how to solve a problem and
|
|
you read the editorial so now you do, then you've learned a lot more.
|
|
- In other words, reading editorials is a _good_ thing, not a bad thing!
|
|
|
|
Overall, I would just say to "give up" when you feel like giving up, whether that's
|
|
in five hours or in 15 minutes :)
|
|
|
|
### Nathan Chen
|
|
|
|
Read the editorial when you feel like you've stopped making progress; that could be from 1 to 5 hours. However, the most important part about reading the editorial is that you understand the topic and try to think about what similar problems look like. Being generally curious is a good way to practice algorithmic thinking.
|
|
|