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

Автор thecodingwizard, история, 4 года назад, По-английски

11/7/2020 Update: Now open sourced at https://github.com/cpinitiative/usaco-guide

USACO Guide Banner

Link: https://usaco.guide/

Recently, a group of experienced USACO contestants (led by the legendary Benq) have put together a "USACO Guide" that's designed to take you from any division to Platinum and beyond. It can be accessed here: https://usaco.guide/. Though it's structured around USACO, it can still be used by non-USACO contestants!

The guide provides a curated list of tutorial resources you can use to learn a particular topic, as well as a lot of practice problems for you to practice your implementation & application skills. It also comes with progress-tracking tools to help you stay motivated :)

This guide is still in the pre-release stage: a large number of modules, particularly the more advanced ones, are still incomplete. We are looking for feedback & contributors to help finalize the guide! We would very much appreciate the following:

  • If you have any suggestions, bug reports, or thoughts, please leave a comment for discussion!
  • If the wording of a module/module description can be improved, please leave a comment and we'll update it.

The following people have contributed significantly to the USACO Guide:

Note: This guide is not affiliated with the official USA Computing Olympiad organization.

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

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

ORZ

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

:pray::cow:

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

wow it looks like all the geniosities helped make it

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

The layout looks really nice!

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

yassss

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

Search feature please!

Your website seems simple and useful. I like how you mainly gathered links to good existing resources (like cp algo) instead of rewriting everything yourself. Too many people and platforms nowadays just write a tutorial from scratch even if it's already well explained somewhere.

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

Really nice. Well done. Hoping reach level to understand Advanced section.

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

Is it open-source?

UPD: I think clicking any link outside the website should open to new tab.

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

    (Updates about this soon.)

    Noted.

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

    Currently the site is closed source for potential security concerns, though we're looking for a way for others to contribute more easily. If there are any points for/against open-sourcing this project, please let me know -- I'd be happy to discuss :)

    We've updated it such that (most) links open in a new tab; thanks for the suggestion!

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

The design is sleek and has a very friendly feel to it, very well done!

Will the services of the site remain free forever? Or will it be monetized with a subscription service of some sort as more users join?

Love the great work, keep it up!

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

    Thank you! There are no plans to monetize this guide in any way; we hope to make it as accessible to as many people as possible.

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

      I appreciate this, as there are some real rip off tutors online.

      But I also assure you if you attempted to monetize it for a reasonable amount monthly or something like that people would very willingly pay.

      Very nice that you guys genuinely care more about growing the community than making money.

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

        We have no plans to do that. Furthermore, our License states that the guide cannot be used in any sort of paid class.

        Our goal is to make it accessible as a free resource, especially when (most) tutoring services right now are paid.

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

Would be nice to have some sort of leaderboard on problem counts solved.

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

    I don't think so it is possible as most of the problems are from usaco and there is no more to store the login stuff and API to check from if used xyz had solved this problem

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

      I mean you can marked problems solved and says your progress so I am assuming they are going to make login etc. If not, that would render the features useless so idk why they'd have it in their pre-release (unless it is supposed to run on browser cache but that would be stupid for many obvious reasons).

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

        It's possible and was brought up, but it's probably going to end up being people marking everything to get to the tops of the leaderboard...

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

          I mean take cses for example. It is relatively popular and you can find all solutions online, yet I don't think anyone with full solves has done that (though I can see how just pressing accepted not having to submit would make it more susceptible).

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

            Where I can find all the solutions to CSES (I am personally interested)

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

              My github has all (some are not updated, just pm me if you want me to update). Yes, flex ;)

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

                Thank you, you are OP and I will be sure to DM you soon

                (though certainly marking a module complete is easier than scouring individual githubs for sols ;) )

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

            i mean to be fair, its non-trivial to find cses solutions like for cses you can't just open the editorial and copy paste code for this you can just mark things correct, its much easier for people to just mark everything correct

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

        They might have rendered it for self-evaluation, However, having leaderboards might include cheating and marking without solving or even finding a solution online :)

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

        unless it is supposed to run on browser cache but that would be stupid for many obvious reasons

        thecodingwizard says

        OOOOOOOOOPS

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

        yes, we are considering the feasibility of user accounts, synced progress, and leaderboards, though I'm not sure how we can verify that people have actually solved a problem vs. just went through all the problems and marked them as solved.

        Also, it currently does run on browser cache (localStorage) oops... I personally did not think this was too big of an issue as I find it hard to imagine normal users clearing their local storage very often? Unfortunately this does mean that syncing across devices is not supported at the moment.

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

          My browser clears cache on default, of course I could turn that off if I cared enough, but I also clear cache a decent amount for ctfs when I want website 'reset', which I am sure many people who do cp do similar things (similarly I assume you cleared cache when testing it worked, and probably lots of other cp people do similar web stuff, but idk enough about web to know what you did). But I was mainly referring to not syncing across devices.

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

on the home page can u also put the tabs at the top of the screen to the various levels?

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

Suggestion: Add a "star/favorite" button to the articles for easy reference in the future. (Awesome job by the way!)

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

Topic have frequency (like "rare", "Somewhat Frequent"). Is there filter by that categories? I just wanna check what topics are rare

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

    I don't think we'll add support to filter modules by category (seems like a lot of work for a rather limited use case), but we have added module frequency labels to the modules on the section pages, so hopefully that will help you check for rare topics more easily.

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

Awesome era to be alive.

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

Which framework did you use for building this Cool User Friendly Website.Thanks a lot for making this wonderful and informational site.

I would like to suggest the "Note Section" where we can put our notes related to that topic for future reference that will save our time to again through the complete post again.

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

    The site was built with Gatsby & Tailwind.

    Thank you for your suggestion; we've noted it down!

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

      It looks hella clean! Out of interest, did you use a specific Gatsby theme? The documentation-esque layout is soo visually pleasing

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

        Thanks! No, I didn't use a specific Gatsby theme -- I just used the barebones Gatsby starter and built the rest from scratch. However, the layout we ended up with is heavily inspired by the Gatsby documentation site layout (probably because I had to refer to it so often :)

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

The design is neat

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

This resource is awesome and extremely user friendly!

Question: in the "Using This Guide" section, you guys mention that it is highly recommended to complete all of the starred problems. However, it doesn't seem like many (or any) of the problems are starred, it only appears as though resources have the icons next to it. Just curious why this might be, or maybe I am just looking in the wrong place. Again, fantastic work!

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

    Yes, you are correct -- not too many of the problems are starred right now. That's mostly because we haven't had the time to go through the problems to figure out which ones we should star and which one we shouldn't. More problems should be starred eventually (You can help by recommending certain problems to be starred!).

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

      Thanks for the response, I'd love to help recommend problems as I go through the modules, what is the best way to send those to you guys? I started a list for the first ones.

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

Thanks for creating this website

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

can u make open github page or something. I think many people (me too) can help with translation if u wanna translate (Not everyone knows english)

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

    Thanks for the offer! Currently it is closed source for potential security concerns, though we're investigating possible ways for others to contribute more easily. Specifically with regards to translation: it would be a bit difficult in terms of implementation (none of the code was written with internationalization in mind oops) so it's highly unlikely it'll be attempted anytime soon unless there is substantial demand.

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

      The most important part to translate is the material itself — it is not really important to translate the interface, which might take a lot of effort.

      And you can put only translation to VCS, not the entire website — way more easy and secure.

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

Wow, that's wonderful! I was thinking about doing something really similar to this, but you made a lot of things I would never come up with. Many thanks!

But it would be very cool if you will find any way to integrate translations — there are a lot of beginners in my country and I guess in many other, for whom the language will be a real barrier.

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

Suggestion for the binary jumping section: Could you add the problem 1142B - Lynyrd Skynyrd for practice?

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

Thanks for the content. I would like to suggest one feature of "Dark mode" in the page to make it more readable at night as well.

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

    Thanks for the suggestion! Unfortunately, dark mode will take a somewhat substantial amount of time to implement, so it is on the backlog for now unless there is significant demand. It seems like there may be extensions that "force" dark mode on website that don't support it; I'm not sure how well they work though.

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

Thank you for this wonderful resource!I would suggest accounts so progress can be synced across multiple devices.

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

    Thanks for the suggestion! User accounts are definitely something we plan to do, though it may be a while before we get around to it.

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Why not using Firebase hosting? I think react apps will be much friendly with it. Firebase also supports authorisation Although I never host project with such a large usage :)

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

    Firebase Continuous Deployment was not as easy to set up as Vercel (though to be fair I didn't spend much time looking into it...). I did end up using Firebase for user authentication and data storage, but it has some very questionable performance issues...

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

Links of internal solutions are showing "404 Not Found". Please check Benq, thecodingwizard

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

    Please use the feedback form on the website when you find broken links.

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

      Sure. I will do that. Thanks for developing this extremely useful and intuitive website. Great work.

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Awesome work guys, the UI is so interactive and design oriented. Is there a way to submit solution to the problems too.I'm from India so cannot register to the redirected USACO site.

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

Auto comment: topic has been updated by caoash (previous revision, new revision, compare).

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

Auto comment: topic has been updated by thecodingwizard (previous revision, new revision, compare).

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

How can I spam cmt? :)

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

If this comment doesn't bother you. Please can you tell, How can I use this guide for becoming better at codeforces. I am aiming for candidate master. How to use this guide effectively?