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

Автор hitch_hiker42, 3 года назад, По-английски

There is a class of problems that always bug me:

https://codeforces.com/problemset/problem/1263/A

https://codeforces.com/problemset/problem/1366/A

https://codeforces.com/contest/1539/problem/A

There are things common with these types of problems:

1). they usually require doing greedy casework or edgy math

2). you can sometimes force a binary search solution to pass (though it is tedious)

3). usually given as Div2 A/B (hopefully not in Div1), so you feel a little frustrated after not solving them for around 30 minutes (which sometimes results in a bad contest)

4). most of them are in the difficulty range: 900-1200

5). even after you solve these, there's a little scope for satisfaction

6). I'm a little curious about this one: some of these are written by MikeMirzayanov (probably he can explain better :p)

I hate these problems, probably because I am too lazy to do the casework or I suck at greedy or maybe the sort of math that's involved (eg: ceiling or flooring things, maybe check if the remainder is zero in the end, maybe add 1 or subtract 1?) doesn't suit my taste yet. Do you guys like these sorts of problems? If yes, can you explain what is the motivation behind them, and why you like them? I want to get rid of this feeling and get better at these types of problems.

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

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

Don't try to solve every case of the problem. Try to figure out a single formula on pen and paper. It is the same situation when you try to do casework in the problem, which can be solved by a defined existing algorithm. Smart practice will work here.

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

    Usually, I don't naturally see a formula in such problems. My first ideas somehow always involve binary search.. which though feels a little overkill, but sometimes is faster to AC than struggling with coming up with a formula. Also, sometimes there's not a single formula but a few depending upon 2-3 cases. Anyway, I'll try following this during my practice. Thanks.

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

    What is smart practice?

    Edit : I am honestly asking this question, that how to practice smart. (after now reading it,I think my reply might have sounded like arrogant reply) EzioAuditoreDaFirenze

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

      Hi. First of all, it's not an arrogant reply. I was sharing my thoughts on the post and I think the author got that right. By smart practice, I mean, solve only those problems during a period in a limited time. That's how you become used to a particular type of problem. Let's stop this discussion here only.

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

        Ah another miscommunication. I was talking about my reply not your sounding arrogant. Anyways, thanks for replying. Thats helps.

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

But isn't it assumed that a person(let's say 1600+ rated ex: you) knows how to do them easily. How can someone progress in rating without knowing how to solve such problems?

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

    Being able to solve a problem and hating it are not mutually exclusive. I too dislike such problems and take slightly more time to solve them than my rating peers.

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

    Assumed by who? I don't think there is any parallel between progressing in rating and knowing how to solve a specific class of problems. You progress if you can solve a general class of problems, on average. And well, I didn't say I cannot solve them. I just struggle with them sometimes, and that's why I don't like them yet.

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

I do feel exactly as you. Although, I don't think I hate these problems because the first feeling I get by reading these problems is of scariness. In the problem A of yesterday's contest, you can see from my submissions, I submitted a Wrong Answer, just because of missing out on a simple overflow condition and brute-forced through multiple test-cases to finally find the error after 30+ minutes. And this is all after reading the problem, not finding any formula for the first 20 minutes and then eventually moving on to attempt B and C. I really get scared by these problems.

Any help would be absolutely delightful!

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

Emm... some details are bored and yukky really, and they are all in the same key.

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

1539A was weird, even some GMs had problems with it (galen_colin spent around 20 minutes: https://www.youtube.com/watch?v=mCNkeyNnTDs)

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

    I also occasionally struggle on problems like this. When I'm solving a div2A I'm looking for the one observation that makes it trivial. But in these math problems, there's not really a clever observation but just work you have to do, and you might make some mistakes in small details.

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

Luckily, they are the first problems, so you can dodge the contest, downvote the announcement and go play Dota 2.

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

.

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

Even if you hate them you can reach 3000+

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

    ko_osaga is that possible like without solving div 2A,B can any one can reach 3000+ ? but how ?

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

      Once you reach div1, only div1 rounds are rated for you, and as we all know, div1A = div2C, so if you give div1 rounds, you don't have to solve 2A/B ever! So once one reaches 2100 somehow (div2 rounds are unrated), one can move on to 3000+ without needing to solve 2A/B! XD

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

      I mean, you don’t have to like them. I get disgusted when I see problems like what OP said. Probably most people will feel the same. Although I don’t know if the linked problems are in such kind..

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

        Yes, actually I couldn't recall many such problems when I posted but the linked ones do convey the idea more or less. I agree though that they're more on the lower end of the spectrum. This one though, is at a much higher level in my opinion: Codejam Round 1B: Broken Clock

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

          Yeah, I didn’t like that problem either. I think it’s hard to be in a position to enjoy such problems. If you focus on things you like, your skill will be generally better so you can be better at such problems too?

»
3 года назад, # |
  Проголосовать: нравится +4 Проголосовать: не нравится
I don't know