Блог пользователя Radewoosh

Автор Radewoosh, история, 5 лет назад, По-английски

I'm not very often replying to questions about how to practice, but as I'm getting enough of them (and I've just seen another blog about practicing) let me tell you about it.

Of course, every time when you ask someone good about how to practice, he/she will reply to you to "solve a lot of problems" and that's true, there's no other way. Anyway, I've thought about it and actually I'm able to tell a bit more. I know some people, I've seen many people practicing (including me) and I have an opinion.

Many people practice in some organized way. High schools organize IOI/OI training contests every Saturday, universities organize ICPC training contests once a week, people try by their own to solve three problems each day, websites host rounds and so on. Here's a secret: it's a sh*t. Yep, that's true. If you want to be really good and to make it happen you compete in a training once a week, you do it only to be able to make excuses "but I'm training so hard" when you see no progress.

Every really good person gave a part of their life to CP. And I don't mean giving up Saturday parties or having no friends, I kind of mean the part of their minds. You have to really want to get better and find real pleasure in practicing and watching your progress. It also means catching yourself thinking about various problems or seeing algorithmic interpretations in many aspects of real life.

You should practice every time when you have an idea "oh, I'd solve some problem", "oh, it'd be good to practice a bit now" or "oh, it'd be cool to solve every problem on this website, let's start". Here's a trick: if you really want to be good, you'll have a lot of such ideas. If you don't have them and you want to just practice weekly, then better go and reconsider if you really want to be better.

Do you think that you are bad at combinatorics? Good, you see your weaknesses, go solve some such problems.

Do you want to simply solve a few problems? Great, go and solve them as long as they are challenging for you. Or you want to solve every problem from some problemset (still can be a challenge for you). Or you want to upsolve a whole round (still can be a challenge for you). Or you want to have more problems solved on Codeforces than your friend (still can be a challenge for you). Or because of any other reason, but still, don't solve the easiest problems on Codeforces and expect to become good.

Do you want to participate in a virtual round? Sure, go and do this. Don't do this if you are sure that you'd solve them. Do this if you want to check if you'd win that round/be better than your friend/something. Challenges, remember? But don't get me wrong, for example, if you are already quite strong and you want to read (or even participate) the problems from div3, which is definitely below your level — it's ok if it's a sign that you are curious about problems and it's interesting for you.

Do you really want to get better and compete virtually in two 5-hour contests in a row? Great, go and practice.

Want to go and participate in a training organized by your university? Of course, great idea — rivalry, some stress, fun with other people. If you are really practicing and trying to get better, the weekly trainings with your schoolmates/university/teammates will become a nice event for you, but don't depend on them. Also, practicing with your ACM team is a way to create a better team — you have to know your weaknesses and strengths and learn how to cooperate. To make your team better at solving problems when you already know how to cooperate, you have to make yourself better at solving problems.

Do you want to skip a training organized by the university and meet your friends/read a book/play some games? Sure, if you don't feel like practicing, then don't force yourself. If you really want to practice and become strong, you'll for sure compete in this contest virtually or something, don't force yourself, just really feel a need to practice. You can't rush art, right?

One more time: you really have to have CP in your mind. After solving a problem, it doesn't mean that it's gone and you have to forget about it. Maybe you'll find yourself thinking about some interesting aspects of some task and you'll invent a harder one?

I don't know what's more to say. Don't give up? With the right attitude, if you can't solve a problem which is really interesting/important for you, you'll try for a few days — the pleasure and self-satisfaction after solving a problem for a few days with success is one of the best feelings.

Also, one last tip: I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task". So don't do it. You won't progress if you'll keep calling problems "questions".

So yeah, that's my opinion. Let CP get into your mind and find a true desire to practice. Don't try to force yourself to practice in an organized way.

I know that this blog may discourage some people, but they wouldn't go far with such an attitude. I also think that it can help people with real potential to become somebody really strong and that's why I wrote it.

If any other top-rated coder wants to share his/her way or just point the differences — that's great.

  • Проголосовать: нравится
  • +1899
  • Проголосовать: не нравится

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +183 Проголосовать: не нравится

I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task". So don't do it. You won't progress if you'll keep calling problems "questions".

My favourite one :)

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +385 Проголосовать: не нравится

Everything you say is correct.

I want to add one thing. Stop obsessing over the number of hours spent or problems solved. These numbers don't mean shit because the variance is so high and it is very easy to spend a lot of time and solve a lot of problems without learning anything. I've seen too many greys and greens recommending each other to solve a very high number of problems or to practice some obscene amount of time per week. And I noticed that I have never practiced with the intensity they recommend.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +541 Проголосовать: не нравится

I think we need another blog from grays teaching us how to regain that part of our life that we red coders lost.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +264 Проголосовать: не нравится

Me on my way to solve every single problem on codeforces

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

I have a doubt. When a person's implementation skills reach a certain good level(for his division), is it a good idea to just work out the logic of the problem and move on if its correct?
I sometimes look at top rated guys and theyre online frequently, so I thought this is what they do... Correct me if I'm wrong?

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Really Motivational. Thank you Radewoosh sir.

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +281 Проголосовать: не нравится

Also, one last tip: I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task". So don't do it. You won't progress if you'll keep calling problems "questions".

Hey Radewoosh, congrats on getting to the 2nd rank on CF, but it's getting pretty tiring seeing your constant comments about "question" and the Indian members of our community.

Some context, for those who may not be familiar:

  • »
    »
    5 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится -69 Проголосовать: не нравится

    Yeah, I feel really ashamed and guilty due to such Indian idiots, but also kinda don't like Radewoosh for his constant comments about it. I'm an Indian and I never use the word questions instead of problems. Well if he thinks about Indians like that, who am I to change someone's mind.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +15 Проголосовать: не нравится

    What is the fundamental difference between a question and a problem?

    imo: A question implies that there is a singular right or wrong answer. A problem, on the other hand, is to be solved, with creative and perhaps different methods. In other words, a question puts focus on the ends, whereas a problem emphasizes the means. That's why cp is "problem-solving". Problems are open to be solved in different ways as long as they produce the expected result. So by calling a problem a "question", one is adapting a very binary mindset. Perhaps, this mindset inspires cheating, because it focuses on the answer(the end) rather than the means.

    I agree with anand about the indian stereotype though. I understand how you feel seeing the concrete evidence and what has happened. However, there are simply too many causes(e.g, how english is taught in their country) behind the outcome that we may not be aware of. Therefore, it is not wise to immediately form a strong opinion on it.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +110 Проголосовать: не нравится

      As an Indian Master whose native language isn't English and who have just learnt it enough that he can talk with people in English.

      I don't really know the difference between them. I have only learnt that I should stop calling CP problems as questions because that what most high rated people do.

      • »
        »
        »
        »
        5 лет назад, скрыть # ^ |
        Rev. 3  
        Проголосовать: нравится 0 Проголосовать: не нравится

        Then in that case feel free to call problems "questions" :). The distinction between the two is subtle. For someone who doesn't have english as their first language, this is perfectly understandable.

        I was speaking about them more from a philosophical level.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +38 Проголосовать: не нравится

      You can just as easily say "problem" has a connotation of something bad, and "question" (e.g. "life's big questions") has the connotation of open-ended academic pursuit of knowledge and understanding for its own sake, rather than for a practical application or to accomplish a task.

      All these words have many meanings, but the important usage of them on Codeforces is as a term for "those things on contests", and it's completely clear in context what you're referring to whether you use "question", "problem", or "task".

      • »
        »
        »
        »
        5 лет назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        Interesting perspective! Adding to what you said, there's really no point in arguing over language anyways because it's all based on interpretation.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
           
          Проголосовать: нравится 0 Проголосовать: не нравится

          For me, Also questions and problems seems identical but can anyone link a valid source on the internet claiming that they are different words completely?(Dont post some link codeforces blogs please). Also I can give you the link of various red coders on the youtube using the two term interchangeably. I personally don't know why the word problem is given so much respect in cp-community. Btw if you google for the synonyms for the word "Problem", you will find the Pain in the ass there.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +18 Проголосовать: не нравится

      Just looked up both in the Oxford dictionary in the context of CP

      Question "A task or request for information that is intended to test your knowledge or understanding, for example in an exam or a competition Example: Question 3 was very difficult."

      Problem "A question that can be answered by using logical thought or mathematics Example: I have five problems to do for homework."

      My interpretation in a CP context is that 'problem' is used often in conjunction with something complex that can be 'solved', while 'question' often concerns straightforward concepts / facts. As in, "Revert a binary tree" vs "Does 2999999999 fit in int?".

      • »
        »
        »
        »
        5 лет назад, скрыть # ^ |
        Rev. 2  
        Проголосовать: нравится 0 Проголосовать: не нравится

        I understood your point that in your place 'question' and 'problem' are relatively different terms and have different meaning. Where I live, they have been used in place of each other and without any issue. Maybe that is why you see a lot of people from some community using question in place of problem. It doesn't mean they are trying to disrespect or anything or they don't have proper vocab. It just means these words are similar to them. Anyways, we should just see the blog as a whole which is really great and ignore the controversial part

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
          Rev. 2  
          Проголосовать: нравится 0 Проголосовать: не нравится

          Completely agree, I couldn't care less as long as the message comes through in communication. I can't really tell whether OP is trolling or seriously lacks social skills, it is my first time hearing about his ongoing sassing about one single word.

      • »
        »
        »
        »
        5 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +15 Проголосовать: не нравится

        Honestly, I find it funny how many people (not just you) are linking an English dictionary as if it's the authoritative source on how people use English words in the specific context of competitive programming.

        Try looking up "editorial" (or even "upsolve" or "tree") in an English dictionary. I won't say a dictionary is completely irrelevant, but it's pretty irrelevant here honestly.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
          Rev. 2  
          Проголосовать: нравится -36 Проголосовать: не нравится

          Not everything has to be about CP, "What is the fundamental difference between a question and a problem?" was an interesting linguistic question that arose from this thread.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +39 Проголосовать: не нравится

          Speaking of "technical correctness". Calling problems as "question" can make sense, but the word "upsolve" is complete nonsense. Not sure why nobody is annoyed about it.

          • »
            »
            »
            »
            »
            »
            5 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +4 Проголосовать: не нравится

            Yeah, "upsolve" has no meaning in common English, but it's a pretty useful term in CP, so I'm okay with it too. (I can't think of an alternative using common English that's not too wordy, e.g., "upsolved E" => "solved E, which I couldn't solve in-contest").

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +3 Проголосовать: не нравится

    I think he didn't mean to stereotype a particular community. He just meant that the attitude that one takes while doing competitive programming, should be taken as extremely important.

    My personal interpretation — when someone says "questions", it implies that he is not generally interested in the task, more like "questions" on a test. However, if you say that you are completing a challenge, it sounds like you show interest in it.

    Kinda like this article says, but in a more general sense — https://www.huffpost.com/entry/problems-vs-challenges-th_b_10465200.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +134 Проголосовать: не нравится

    Sorry if it looks rude. After writing such a long monologue, I've thought that it'd be good to write a funny and non-serious part. People could read it and say something like "oh, it's still our old Radewoosh". You know, to lower the tension, I actually care about this whole stuff a lot less than I write about it, just triggering people a bit.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится -87 Проголосовать: не нравится

      oh, it's still our old Radewoosh

      Being know for racism is cool these days huh

      Sorry if it looks rude.

      just triggering people a bit.

      LOGIK 100

      • »
        »
        »
        »
        5 лет назад, скрыть # ^ |
         
        Проголосовать: нравится +88 Проголосовать: не нравится

        I'm slowly getting tired of that. You wanted me to slow down, and I slowed down a long time ago.

        But man, this blog contains the following information: "question" is an incorrect word to describe an algorithmic problem.

        What's so racist in this sentence? I just unable to see it. I've heard about grammar-nazi, but you are seeing problems where there are none.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
           
          Проголосовать: нравится -92 Проголосовать: не нравится

          I don't want you to do anything(that I want) I couldn't care less what you do.

          What's so racist

          The context

          And I already showed hypocrisy in the previous comment,

          I just found it funny hence I pointed it out. I've no issues with you just to be clear nor was I offended by you saying this, I was just mildy annoyed when I saw the frequency of that.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +8 Проголосовать: не нравится

          Surely you are not 100% correct when not a single individual but a certain part of the community is taking offense. Not that hard to understand. Leetcode is an American company and it use phrases like "Top Google interview questions", "Top Amazon interview questions" for the algorithmic problems on their website. So, using "question" is not incorrect either.

          Read point 2 and explain why I shouldn't use the word "question" for codeforces "problems". I'm just curious.

        • »
          »
          »
          »
          »
          5 лет назад, скрыть # ^ |
           
          Проголосовать: нравится +75 Проголосовать: не нравится

          I'm slowly getting tired of that. You wanted me to slow down, and I slowed down a long time ago.

          I actually don't understand what you're saying here. Are you saying you shouldn't be criticized for doing something offensive, because you used to do it more often in the past? Let me know if I've misread this.

          But man, this blog contains the following information: "question" is an incorrect word to describe an algorithmic problem.

          Eh, not really. See my other comments on this page.

          What's so racist in this sentence? I just unable to see it. I've heard about grammar-nazi, but you are seeing problems where there are none.

          There's a pretty clear pattern in your comments (e.g., the ones I linked above), I'm surprised you claim you're unable to see it if ... (1) you said you're intentionally triggering people with your actions (2) you "slowed down" (what did you slow down then?)

          • »
            »
            »
            »
            »
            »
            5 лет назад, скрыть # ^ |
             
            Проголосовать: нравится +2 Проголосовать: не нравится

            I meant something different. You posted five examples (we can include above blog, whatever) of me making fun of people calling problems "questions".

            In the first one I made an assumption about the relation between the sets {people calling problems "questions"} and {people from India}, I confess. And because of this assumption I made a bold assumption about the "Merkurev" guy, I confess to that. Was it funny because it was the only time or was it already rude? It's not a thing to talk about now.

            In the rest of them the whole discussion started because somebody assumed that I made some assumptions about this relation and because of these people more users attacked me.

            What's the motivation of these people? I don't know. Just assuming that I'm doing something because it happened in the past? Looks bad, but sometimes the reality is harsh. Feeling offended just because (by an accident) they are calling problems "questions" and are from India, so they assume that I'm making jokes of the second ones instead of the first ones? Maybe.

            In the last one I meant real accident, a random person from the intersection of these two sets, I'm not attacking anyone. Of course, none of these sets is a subset of another, we all know it.

            The bad thing is that because of these people more and more users start to think that I'm still attacking Indians and assuming anything.

            (1) I'm triggering people who use "question" instead of "problem". (2) By slowing down I meant not making assumptions about the relations of the mentioned sets.

            • »
              »
              »
              »
              »
              »
              »
              5 лет назад, скрыть # ^ |
               
              Проголосовать: нравится +29 Проголосовать: не нравится

              Don't bother about all these people.. People now a days get offended too easily.. I am an Indian, i say questions, and i took it lightly, as it should be taken because obviously it's a joke...

              What i cant understand is half of these people, at one point would have searched for : How to become a red coder, how to be good at CP, how did xyz become a LGM/GM, and messaged red coders how should i practice and all that stuff, but when someone who is great at CP, gave them some really good advice, they are debating over an insignificant topic and finding racism in this..WOW

              SO ANYWAYS, THANKS FOR THIS BLOG ! :)

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +53 Проголосовать: не нравится

      just triggering people a bit

      Honestly, this is some "edgy teenager" behavior. And it sounds like you're saying it's intentional, so "Sorry if it looks rude" doesn't feel very sincere.

      It would have been better to include a light-hearted joke that isn't at other people's expense.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +59 Проголосовать: не нравится
    Spoiler
»
5 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

This made me laugh.

Also, one last tip: I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task". So don't do it. You won't progress if you'll keep calling problems "questions".

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +18 Проголосовать: не нравится

Hi, thanks for this blog. I really wanted to ask one thing about this from some top rated user but I wasn't sure. But I wanna ask it now cuz this is too good an opportunity to let go. But I can't ask it from my main account fearing judgement from my "friends".

I am a master here, and I think I have the potential to become a top rated coder in the near future. But, I like a few other things too much: like singing and listening to music, and having a good time with friends and cracking so many jokes and talking to girls. Somewhere I find myself thinking about these things when I am thinking of a problem. I have seen Gennady in streams, and a lot of other videos, and I feel that he and other top rated coders really have that "part of brain devoted to CP". And I have felt that if I change my personality a bit, and become a bit more straight faced guy, not thinking of jokes all the time, not singing all the time, I can solve harder problems better. I even tried it for a day or two, but I went back to normal cuz FOMO.

But I realllyyyyy wanna be very high rated and very good at CP. So should I change my personality to better fit CP? Or is it just stupid and there is no such thing like personality for CP? But I have observed it first hand: thinking in background about CP problems automatically changes my personality. And that person isn't as FUN in the social sense. But I really felt at home with such an outlook.

Really sorry for this potentially stupid question. But I really wanted to ask this.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +14 Проголосовать: не нравится

    if you think you can't crack jokes and have "part of brain devoted to CP", you clearly haven't met my ICPC team. constant shitposting is vital to our success.

    in all seriousness, i don't think intentionally "changing your personality" is the way to go. i also don't think that constantly thinking about CP is disjoint from being a socially fun person. at least for me, it didn't feel like i was actively trading something off to get better at CP; i kinda just started thinking of CP more and more because i enjoyed it. i think the point of this post is less "make yourself think this way to get good at CP" and more "people at the top are devoted to CP". the better you get, the less external motivations like wanting to get into a good school/job will be enough to drive you. thus, it's somewhat pointless to ask all these techniques on how to become a red coder when you don't love competitive problem solving.

    assuming your post is true, i'm pretty surprised that you've gotten to master and don't already constantly think about CP in the background. life is short. sure, maybe you do have the potential to be a top rated coder, but why waste your time doing that if that's not what you actually want to do? why spend hours and hours of training to be good at CP, only to regret not spending time on the things you enjoy?

    • »
      »
      »
      5 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится +1 Проголосовать: не нравится

      My motivation to become good at CP is not job related: its just that I absolutely love solving hard problems.

      But I love singing and listening to music too. I wanna give up these things cuz they seem to come in between my thoughts when thinking about problems. I randomly start singing while doing CP. and people around me say that I have a great voice. And also, all the time, I am also thinking about some meme or something, or how that stupid thing I read today is so funny.

      I think I think about CP in background around 20%-30% of my free-time. If I don't think about these things, I can get it up to 80% I guess. And thinking about CP all the time makes me happy. Really, truly happy. But then there's my death-like addiction to music.

      And by strong I don't mean I wanna become red. I wanna become LGM strong. That's an extremely hard and big challenge and I think some personality optimisations are required to reach that level.

      PS: Sorry for my immature posts.... But I really wanted to ask this.

  • »
    »
    5 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +84 Проголосовать: не нравится

    1) Nice nickname :D Maybe you should fully switch to this account.
    2) It's ok to give up CP if you don't enjoy it. That's not the case for you.
    3) If you don't care about becoming the best the IMHO there is no reason to switch from e.g. singing to practicing CP more.
    4) You don't need to switch your personality, just habits. When you spend time with friends, don't think about problems. That's unhealthy. Unless it's time with your cp friends and you all want to talk about that.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +11 Проголосовать: не нравится

      i thought i would never comment again thinking about people who might judge me.... but hey... i think i don't care and I will just write this once and for all and never log in:

      I wanna sing all the time, have fun all the time, make memes all the time, dream of making a YouTube song video ft. myself, play many many sports, party with friends all the time.

      BUT I also love CP too much. nothing gives me more happiness. I just wanna do this shit for the rest of my life. If I enjoy CP, and I wanna become the absolute best, is it ok to forgo of all the "other" stuffs. Like everyday I wake up, I think, today I will be like Gennady in his streams. His demeanor seems like he is made for CP: so calm, and looks like his mind is running CP problems in background. I on the other hand blast music out of my speakers when I get accepted on a hard problem, and go to my terrace and listen to music every 2 hours or so. I don't think such hyperactivity is good for CP. So I think I have to change. yeah I wanna be really really good in CP (your kind of good), not for jobs ofc, for that master is already enuff I think. But becoz I wanna make it my life. So i am at crossroads: do I leave these things, since they interfere so much.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +21 Проголосовать: не нравится

      +1 to the username, I liked it too. :)

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +56 Проголосовать: не нравится

How to gitgud epic tutorial (LGMS DON'T WANT YOU TO KNOW ABOUT THIS SECRET TECHNIQUE!) [NOT CLICKBAIT] [GONE WRONG] [FREE V-BUCKS]

Step 1: join the AC Discord server & identify.

Step 2: go to the channel #gitgud.

Step 3: Type: ;gitgud +300

Step 4: Solve the problem you have been suggested by the bot.

Step 5: Go back to Step 3 & repeat until you've gitten-gud.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +865 Проголосовать: не нравится

My opinion on how to watch anime

I'm not very often replying to questions about how to watch anime, but as I'm getting enough of them (and I've just seen another blog about anime) let me tell you about it.

Of course, every time when you ask someone good about how to become a weeb, he/she will reply to you to "watch a lot of anime" and that's true, there's no other way. Anyway, I've thought about it and actually I'm able to tell a bit more. I know some people, I've seen many people watching anime (including me) and I have an opinion.

Many people watch anime in some organized way. High schools organize anime/manga watching clubs every Saturday, universities organize anime movie screenings once a week, people try by their own to watch three episodes each day, websites host shows and so on. Here's a secret: it's a sh*t. Yep, that's true. If you want to be really good and to make it happen you watch anime in a club once a week, you do it only to be able to make excuses "but I'm training so hard" when you see no progress.

Every really good person gave a part of their life to anime. And I don't mean giving up Saturday parties or having no friends, I kind of mean the part of their minds. You have to really want to get better and find real pleasure in anime and watching your progress. It also means catching yourself thinking about various anime or seeing anime interpretations in many aspects of real life.

You should watch anime every time when you have an idea "oh, I'd watch some anime", "oh, it'd be good to watch anime a bit now" or "oh, it'd be cool to watch every anime on this website, let's start". Here's a trick: if you really want to be good, you'll have a lot of such ideas. If you don't have them and you want to just watch anime weekly, then better go and reconsider if you really want to be better.

Do you think that you are bad at slice of life? Good, you see your weaknesses, go watch some such anime.

Do you want to simply watch a few episodes? Great, go and watch them as long as they are interesting for you. Or you want to watch every anime from some season (still can be a challenge for you). Or you want to watch a whole show (still can be a challenge for you). Or you want to have more anime watched on MAL than your friend (still can be a challenge for you). Or because of any other reason, but still, don't watch the easiest anime on MAL and expect to become good.

Do you want to participate in a virtual watchalong? Sure, go and do this. Don't do this if you are sure that you'd like them. Do this if you want to check if you'd like that anime/be better than your friend/something. Challenges, remember? But don't get me wrong, for example, if you are already quite cultured and you want to read (or even watch) the episodes from naruto, which is definitely below your level — it's ok if it's a sign that you are curious about anime and it's interesting for you.

Do you really want to get better and binge two 5-hour anime in a row? Great, go and watch.

Want to go and participate in a screening organized by your university? Of course, great idea — rivalry, some stress, fun with other people. If you are really watching anime and trying to get better, the weekly screenings with your schoolmates/university/anime club will become a nice event for you, but don't depend on them. Also, watching anime with your anime friends is a way to create a better team — you have to know your weaknesses and strengths and learn how to cooperate. To make your team better at watching anime when you already know how to cooperate, you have to make yourself better at watching anime.

Do you want to skip a screening organized by the university and meet your friends/read a book/play some games? Sure, if you don't feel like waatching anime, then don't force yourself. If you really want to watch anime and become strong, you'll for sure watch this anime later or something, don't force yourself, just really feel a need to watch anime. You can't rush art, right?

One more time: you really have to have anime in your mind. After watching an episode, it doesn't mean that it's gone and you have to forget about it. Maybe you'll find yourself thinking about some interesting aspects of some scene and you'll imagine a better one?

I don't know what's more to say. Don't give up? With the right attitude, if you can't watch an anime which is really interesting/important for you, you'll try for a few days — the pleasure and self-satisfaction after watching an anime for a few days with success is one of the best feelings.

Also, one last tip: I've noticed it observing all the top people on MAL/AniList. None of them uses the word "cartoon" instead of "anime". So don't do it. You won't progress if you'll keep calling anime "cartoons".

So yeah, that's my opinion. Let anime get into your mind and find a true desire to watch. Don't try to force yourself to watch anime in an organized way.

I know that this comment may discourage some people, but they wouldn't go far with such an attitude. I also think that it can help people with real potential to become somebody really strong and that's why I wrote it.

If any other top-rated weeb wants to share his/her way or just point the differences — that's great.

»
5 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +155 Проголосовать: не нравится

Radewoosh's attempt : Help community about how to be good in cp.

People in whole comments section : Why is this guy so much obsessed with "problems vs questions" thing.

Come on guys, thats just a thing to say. He wrote a such a nice blog and all you guys are discussing are last 2 line from this blog.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится -23 Проголосовать: не нравится

    People are saying because

    1) Most of the things mentioned are normal, if you want a daily reminder about basic things, you can set an alarm on phone

    2)He always says this, and it is not a running gag, it's just become annoying, and racially discriminative, because he's always targeting them as wrong, nuisance and also called them retarded which ofcourse means he's ableist.

    Thats just a thing to say.

    What does this even mean?

    I'm not saying Radewoosh is a terrible human being, but there's definitely things he should think about, especially because he's pretty influential in CP community and influences a lot of people in the community.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +103 Проголосовать: не нравится

While this blog should be useful to orange/red users, I wonder if it's of any help to lower ratings. Well, it's still an interesting read for sure.

The big thing I disagree with Radewoosh about is actually something he didn't mention in the blog. He thinks that a competitive programmer should be well-rounded and should practice their weak points. I think that specializing (e.g. I know dp & geometry & combinatorics) is fine and it's more efficient if you want to reach the top (well, not the very top). And it's great for ICPC.

And I don't mean giving up Saturday parties or having no friends, I kind of mean the part of their minds.

I agree. I used to solve or invent problems whenever I had time: in a bus, during lectures, while eating or falling asleep, and so on. If you're really into it, it becomes the main thing you think about. It's like being obsessed with a cool video game but it lasts years.

Do you really want to get better and compete virtually in two 5-hour contests in a row? Great, go and practice.

Only if you have time and a will to upsolve later. Generally, this advice might be good only for the very best people in the world.

You won't progress if you'll keep calling problems "questions".

xd, sure

Questions and problems mean the same thing so whatever. Actually, "interview questions" is commonly used in the West too. What really grinds my gears is the phrase "I gave a contest". It sounds illogical. Organizers gave you the contest, you just participated / took part. But again, it must be a difference between versions of English.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +25 Проголосовать: не нравится

    If "I know dp & geometry & combinatorics" described you anywhere near accurately, you wouldn't be nutella. I can tell you that 100%.

    It's great only for ICPC. For individual contests that don't limit themselves to specific topics, you have to be well-rounded and only with that, you can specialise in the sense that you excel at some problem types. Just consider constructionforces: if you get bent over the knee and paddled by a medium construction problem each and every round, then improve at construction problems! It should give you way more payoff per effort than trying to bridge the gap by solving hard non-construction problems. If you're good at everything, you can more easily get to the point where you only have really hard problems to solve, and then it's finally about whether those hard problems fit your specialties.

  • »
    »
    5 лет назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится 0 Проголосовать: не нравится

    I think the phrase "I gave a contest" originates due to fundamentals of English and general phrases taught around the country. Being an Indian, everybody uses phrases like "I gave an exam" etc. So I feel like this should not be a thing that one needs to be concerned about as there is no ill intent behind the statement. Most of us are grateful for wonderful people who put in their time and effort to create problems and editorials.

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится

    I do think there's a difference between problem and question. I hear a lot of people refer to "homework questions," but I've heard significantly fewer people refer to "research questions" (more often, referred to as "research problem")...presumably because of the connotation difference between question and problem.

    I actually noticed this a while ago when I was typesetting some math notes. I kept switching between "problem ?" and "question ?"...and I noticed that mysteriously (generally, there were some outliers) I would refer to the harder problems/questions as problems and the easier problems/questions as questions.

    I think I remember something vaguely similar in Art of Craft of Problem Solving (at the beginning of the book, I think Zeitz talked about the important distinction between example, exercise, and problem or something like that).

    Whatever, point is — I do think there's a dif.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +60 Проголосовать: не нравится

Sir, can I at least give contests?

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +18 Проголосовать: не нравится

I'm not Indian and I want to ask this them.

  1. "Bro, what's your age?"

  2. "Given a side of a square, find the area of it"

Do you call these two kinds of statements the same word in Hindi? I want to find out whether the "question" is really coming from India, because it is widely used outside.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +26 Проголосовать: не нравится

I cannot believe the amount of people who don't know the difference between 'question' and 'problem'. Basically in a nutshell, 'question' is something which doesn't require 'logical thinking', and problem is something you 'solve' using logics etc. And since you 'solve' problems, hence you call it problems.. it's a problem because you've to solve it if that makes sense haha.

I know why a lot of Indians call it question though, because problems are not very widely used, question is. I remember in school where we had this 'word problems' in math, it was called problems because we solve it using logics and mathematics formula. And I'm sure everyone has used the word 'problem' before but 'question' is more used so people simply use it without thinking much about it, which is completely fine.

  • »
    »
    5 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится -10 Проголосовать: не нравится

    I am not a grammer expert but I think question is a superset and problem is a part of it. You can say Question={Problem,inquiry,doubt etc}

    For example: "Bro, what's your age?" is an inquiry

    "Given a side of a square, find the area of it" is a problem

    "Will I succeed in life" is doubt (I guess)

    All of them fall into the category of question. This is just based on my experience of english language.

    I wrote this because someone in above comment asked two categorize the first two sentence as to weather they are problem or question. But I don't think this can really justify why question cannot be used in place of problem.

    See Atcoder uses the word task in their contest. So that means task and problem are equivalent??

    "Watering the plants" "Cooking the food" are also task but are they problem?

    • »
      »
      »
      5 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится 0 Проголосовать: не нравится

      Question may be a superset in some context but it still has different basic meaning.

      I can offer another analogy. The problem is usually described in some text. What if we I write: "I understand text B and will solve it quickly. I know that text D is about flows." Will you understand it? Sure. Will you like this? I guess no.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

GODS :)

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -204 Проголосовать: не нравится

That's why you can never be as good as the true legend tourist,because he must be practicing problems and he has no time for making fun of Indians over their vocabs.MARK MY WORDS -YOU CAN NEVER BE AS GOOD AS TOURIST.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Alright, this "gave a ...part of their mind" part seams real and legit. But what is "Saturday parties"? :)

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +52 Проголосовать: не нравится

Finally, done reading all the comments xD

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -7 Проголосовать: не нравится

E-Lafda xD

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +66 Проголосовать: не нравится

Nobody:

Arbitrary national user: Hello Mr Radewoosh, may I ask u a problem?

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +67 Проголосовать: не нравится
Necessary Meme
»
5 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +13 Проголосовать: не нравится

Not until now did I know that I was supposed to call the programming questions as problems/tasks.

However, as an Indian English speaker, calling these questions as problems doesn't really change my perception towards them. It doesn't give me any extra urge to improve my programming skills. And I believe, changing the calling reference doesn't work out for most of us (Indians). We are used to calling them questions because that's what we have learnt in our schools since childhood (we get Computer programming "Question Papers" and we are supposed to answer them). I don't feel there is any fear or anxiety attached to the name.

There are many variations of English spoken in different parts and you should acknowledge the existence of "questions" in programming.

P.S.: I liked your blog and will definitely try to follow most of those feasible to me, but couldn't resist writing this after knowing your perspective towards the question thingy.

»
5 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +24 Проголосовать: не нравится

.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +189 Проголосовать: не нравится

Hot take: this comment section is cancer. Even if remove all problem/question/racism bullshit (yeah it's kinda racist, but 80% of "indian cp" is not a competitive programming, and unless this changes, the racism will continue).

Why do people thank Radewoosh for useful tips? There are none in this blog (except for calling problems problems). You either Want to be great and Enjoy problems, or you don't. Oh, the second useful tip: if you are not the type Radewoosh described, don't do cp. It will be just a waste of time.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +107 Проголосовать: не нравится

Obligatory disclaimer: I'm not a native English speaker.

I guess an easy way to figure out if you should use "question" or "problem" is to figure out if you are looking for an answer or a solution: questions have answers and problems solutions. For example,

  • I was asked this interview question: how can you compute the median of a sorted array in $$$\mathcal{O}(\log n)$$$ time? I answered that you can just use binary search.

  • Then the interviewer asked me to implement a solution to the problem.

Another easy way to decide between a question and a problem is to see if there is a question mark at the end. For example:

  • You are given a sorted list of integers, and need to output their median, doing at most $$$\mathcal{O}(\log n)$$$ work. How to achieve this?

  • You are given a sorted list of integers. Implement a solution that outputs their median. Your algorithm should work in $$$\mathcal{O}(\log n)$$$ time.

The first is a question and the second a problem.

So, if you are asked to prove or implement something, it is a problem. Nobody ever says "I submitted my answer to the question, and got AC". In competitive programming you solve problems, you don't answer questions. Codeforces is not a trivia contest site.

  • »
    »
    5 лет назад, скрыть # ^ |
    Rev. 3  
    Проголосовать: нравится +103 Проголосовать: не нравится

    I was asked this interview question: how can you compute the median of a sorted array in O(log n) time? I answered that you can just use binary search.

    Can't you do it in O(1) without binary search?

    • »
      »
      »
      5 лет назад, скрыть # ^ |
       
      Проголосовать: нравится +21 Проголосовать: не нравится

      Well, yes, but actually what if they are building a median-based cryptography system, and a $$$\mathcal{O}(1)$$$ solution would leave them vulnerable to a timing attack?

      (Actually I just didn't think much while writing the examples, nice find)

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +5 Проголосовать: не нравится

    Answer vs Solution coming up next

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +54 Проголосовать: не нравится

    I wonder why nobody mentioned it. But let's take a look into the theoretical computer science. There are lots of problems there: knapsack problem, travelling salesman problem, longest common substring problem and so on. And I don't see any significant difference with the problems that we solve here in CP. And I'm sure that it's better to use a common terminology.

    Question-guys, how would you describe 1446A - Knapsack? I would say that it's a greedy knapsack problem.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +86 Проголосовать: не нравится

This comment section just proved that there are a "group" of people who

  1. For whatever reason, is using the word "question" instead of "problem"/"task".

  2. Does not become the top people at competitive programming.

  3. Is easily triggered and has bunch of free time to pollute the entire comment section.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -45 Проголосовать: не нравится

We know that Indians use "question" instead of a "problem" for a problem but I don't think Radewoosh knew this fact but if he'll receive so many hate comments from India, naturally, he and others reading this blog will have a negative image of Indian People. These kinds of comments are better ignored because they don't reach any conclusion and even if Radewoosh meant this comment negatively, it's just in his mind and it cannot affect us.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Task > Problem > Question

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +186 Проголосовать: не нравится

Also, one last tip: I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task".

Challenge accepted

»
5 лет назад, скрыть # |
Rev. 7  
Проголосовать: нравится -32 Проголосовать: не нравится

Let me join this useless fight from another perspective :D.

If using the word "questions" instead of problem is so bad and we shouldn't use it, then we should consider stop calling whatever we do here competitive "programming". It is barely about programming anything good or useful. Someone who is better programmer might just tell you to stop calling what you do at CF/AtCoder "programming", because keep calling it programming will make you never make progress to be a better programmer.

Note1: I am not Indian nor a native speaker.

Note2: You guys cannot define the term "programming" because the non-CP programmers are the majority. You are the minority here.

Note3: I think that everything else in the original post is correct and I am willing to follow it.

Radewoosh orz

  • »
    »
    5 лет назад, скрыть # ^ |
     
    Проголосовать: нравится +31 Проголосовать: не нравится

    "It is barely about programming anything good or useful" — because programming defaults to having anything to do with usefulness, right? It is programming by the english definition of programming (and even more than that). It's not competitive software engineering, programming means writing programs, telling a computer what to do. Now that you want it to do something useless, that's something completely different, but you're still programming. That you're doing so for a different purpose and by different standards from the rest of the people that do programming, that's again a different story. It's not competitive problem solving, because once you've got the idea, you need to figure out every single detail and actually program (= provide (a computer or other machine) with coded instructions for the automatic performance of a task) it. So maybe there's a different reason to not refer to CP the way we do, but yours are logically invalid.

    • »
      »
      »
      5 лет назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится -20 Проголосовать: не нравится

      Looking from the number of downvotes, I guess many people agree with you and don't really get what I wanted to say here. People are so defensive and aggressive when it comes to invading their space, yet they don't care when other people's space are invaded...

      My explanation: I started sentence with 'If using the word "questions" instead of problem is so bad and we shouldn't use it, ...', right? So I am talking about the world where terminology are decided by the majority and the minority are not forgiven at all for using the different way the majority are using.

      Note 1: I don't have problem with the name "CP" nor want to debate on how useful it is. I just want to give people a different perspective.

      Note 2: Please think for one second. What can I gain from saying that CP is useless here? I am surrounded by CP-er here. Also if I think CP is totally useless or not enjoyable, why am I here?

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -15 Проголосовать: не нравится

and stop calling 'sir' every f person you come across.Its not courtesy its just annoying.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

Well, what about upsolve?

»
5 лет назад, скрыть # |
Rev. 3  
Проголосовать: нравится +7 Проголосовать: не нравится

How did you or other top coders handle both university and CP ?I don't even find enough time to do the contests. I am really interested in CP but when ever I try to practice a homework is assigned or some project is released so that I can't spend much time on CP.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -11 Проголосовать: не нравится

"You won't progress if you'll keep calling problems "questions"."

Well, as a matter of fact, I call them questions and I AM progressing, so yeah, please stop obsessing over what people call them.

Thanks for the otherwise nice blog though.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +84 Проголосовать: не нравится

Imagine how different the current timeline would be if Radewoosh decided to skip a single para from this blog

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -46 Проголосовать: не нравится

Using the word Question/Problem doesn't hamper the statement of the task. Not at all. But Red Coders will be fighting in comment section like kids to prove which one is right. This thing could have been ignored easily. And then they say Red Coders are very smart.

»
5 лет назад, скрыть # |
 
Проголосовать: нравится -6 Проголосовать: не нравится

I think consistency is the only key to success. Up and downs will come, but we should never give up.

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится -37 Проголосовать: не нравится

Really a motivation Radewoosh

»
5 лет назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can we force BIA sell on round 16? I have 3k saved up in the bank and I don't know if he has his boost back yet...

»
5 лет назад, скрыть # |
Rev. 2  
Проголосовать: нравится +1 Проголосовать: не нравится

Lets have an onion on this matter, give your onion here

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +96 Проголосовать: не нравится

Blog didn't help — still a lot of private messages about how to practice ;_;

»
5 лет назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

Why would this blog discourage anyone? It's only the truth. If you truly love something, you would never need to make a schedule and force yourself to sit and solve. You will feel the urge to start on by yourself.

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Sir I been caling the questions the problems for 16 days now, but NO IMPROOVE, HELP.

Your Sminmcerely; NeverCompromise

»
4 года назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

I've noticed it observing all the top people on Codeforces/Atcoder. None of them uses the word "question" instead of "problem"/"task". So don't do it. You won't progress if you'll keep calling problems "questions".

Wtf.

See this interview with Benjamin Qi

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Your kindness is greatly appreciated.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Many people practice in some organized way. High schools organize IOI/OI training contests every Saturday, universities organize ICPC training contests once a week, people try by their own to solve three problems each day, websites host rounds and so on. Here's a secret: it's a sh*t.

...

Want to go and participate in a training organized by your university? Of course, great idea — rivalry, some stress, fun with other people.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

thanksss

  • »
    »
    3 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Why do you necropost , it clearly says :

    "The post on which you are writing a comment was written a long time ago. Please refrain from commenting unless you have a really reasonable cause to leave a comment. Necroposting is discouraged by the community. Are you sure you want to publish the comment?"

    So what was your "really reasonable cause" to leave a comment ?

»
3 года назад, скрыть # |
Rev. 4  
Проголосовать: нравится -15 Проголосовать: не нравится

.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Too much reliance on tutorial and lack of independent thinking may cause regression.

»
3 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

you really have to have CP in your mind. After solving a problem, it doesn't mean that it's gone and you have to forget about it. Maybe you'll find yourself thinking about some interesting aspects of some task and you'll invent a harder one?

It's CP's essence. My favourite sentence.