This repository has been archived on 2022-06-22. You can view files and clone it, but cannot push or open issues or pull requests.
usaco-guide/content/2_General/5_Editorials.md

72 lines
3.5 KiB
Markdown
Raw Normal View History

2020-06-06 03:59:57 +00:00
---
2020-06-08 20:42:55 +00:00
slug: /general/reading-editorials
2020-06-06 20:04:31 +00:00
title: When to Read Editorials (Analyses)
2020-06-06 20:49:41 +00:00
author: Benjamin Qi, William Lin, Eric Wei, Nathan Wang, Nathan Chen
2020-06-08 20:42:55 +00:00
order: 5
2020-06-06 03:59:57 +00:00
---
Knowing when to "give up" on a problem and start reading the problem's editorial
is challenging. Below are the opinions of various individuals.
<!-- END DESCRIPTION -->
2020-06-06 20:04:31 +00:00
Note that "give up" is in quotes, because one still learns when they "give up" and read an editorial!
2020-06-06 03:59:57 +00:00
## Benjamin Qi
2020-06-06 20:04:31 +00:00
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.
2020-06-06 04:05:56 +00:00
2020-06-06 20:04:31 +00:00
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. :/
2020-06-06 04:05:56 +00:00
2020-06-06 20:04:31 +00:00
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!
2020-06-06 03:59:57 +00:00
## William Lin
2020-06-06 04:53:22 +00:00
> 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.
2020-06-06 03:59:57 +00:00
## 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
@summitorz
## 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
2020-06-06 04:52:01 +00:00
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.