Hey all!
After seeing a few of these make the rounds, I've been inspired to do my own. I'll check in when I can over the next few days and answer any q's you might have. Ask me anything!
A little bit about me: I grew up in Louisiana and started competing in math and programming contests early on. I eventually competed on the US IOI team as well as the Harvard ICPC team and I'm now cofounder of a company called Lunchclub (we're hiring!)
How old are you?
I'm 23 now! I started programming when I was 12 and first started competing seriously when I was 14.
Tell me one simple thing please, I have been wondering this since I saw the video, when did you even read the First problem ?
And I am not like just praising you for that, I am really asking this, as I struggle reading the problems fast enough ( And also, a lot of times still miss the crucial details of the problem ). Do you just read sample input output and make some pattern recognition out of it ? Or what ? Please explain the process, I will be thankful of you.
Thanks in advance.
Now you make Devin who will replace programr.
What's the best advice you will give to beginners like us to improve in CP?
At the beginning, the most important thing to do is just to spend a lot of time on it! Solve problems, compete in rounds, read or watch editorials and don't worry too much about topics or difficulty calibration.
Eventually that method starts to plateau, at which point you need to analyze specific topics deeply (e.g. segment trees, or swapping algorithms) and do focused practice on problems in the right difficulty range. But that isn't absolutely necessary until later, and there's no substitute for raw practice time especially early on.
At what point do we have to learn the advanced topics in-depth(e.g. segment trees, or swapping algorithms)? After 2100?
I guess at 1700-1800 u should start advance topics
Biggest achievement in your life ?
Gennady said I was good once
Biggest flex in CP
wow! I am surprised that even top coders get excited for Gennady.
Wonder if i could ever get a compliment like that in my life
How did you get into competitive programming and what made you want to pursue it ?
I had done math contests from a young age (including a US middle school math contest called MATHCOUNTS) and I really enjoyed those. Later on, my brother neal started doing USACO, and he introduced me to programming contests.
I was pretty much hooked as soon as I started competing. Overall I find programming contests to be a really fun mix of innovation (coming up with new algorithms or discrete math) and engineering (coding/debugging skill, practical understanding of systems/compilers, code optimization). I also really enjoy the strategy component of programming contests, which is very unique compared to e.g. math or physics olympiads.
How much practice have you done to get to where you are today and how did you avoid distractions?
Not sure about an exact number but my total problems solved is probably somewhere in the thousands. :)
There were definitely times when I was training seriously when it was tough to stay motivated. But the main reason I made it through those (and honestly, the main reason I still compete now) is because these contests have been a lot of fun for me. I love solving interesting problems, I've made a lot of great friends through contests, and I'm also an extremely competitive person, so programming contests have always felt like a natural choice.
That is very insightful thanks!
Any hobbies other than competitive programming?
Definitely! I enjoy all kinds of competitive strategy games (Smash, poker, chess, Tetris to name a few). Since quarantine started I've also started running a lot.
What is your rating on chess websites?
I think that's him: https://www.chess.com/member/ttocs45
Neal also plays chess: https://www.chess.com/member/nealwu
Can we play chess together? :)
Do you like math?
How can anyone be a Legendary Grandmaster without liking math?
Sure do!
Do you play game ?
What CP goals do you still have?
Truthfully, there's not too many goals I have left as an individual contestant. But one of my biggest dreams for competitive programming is to see it become an esport that people can follow and watch. I think tmwilliamlin168, Errichto, ecnerwala, and others have done really well growing their streams and I'm excited to see what develops in the future. Maybe some day we'll have TSM|tourist :)
I think CP and Chess to be very similar sometimes (not becuase CF titles are similar to FIDE titles), I wish one day CP might have some Championship matches like chess and will be recognized much more at global level but main thing is count of viewers , everyone can get started with chess easily but not with CP without some educational background..
In chess 2 participants don't move simultaneously. Technically CP isn't 1v1, it's 2 participants vs same problemset. It's hard for viewers to grasp what's happening even in 1v1 CP streams.
If you never stumbled upon competitive programming, would your current life be really different?
Absolutely. I would say my career path, hobbies, and close friends would be completely different.
[DELETED]
Tru3R00T changed the comment. So, this is irrelevant.
From the blog:
[DELETED]
Dragon Ball or Naruto?
What kind of CP problems you like more: ICPC-style problems or IOI-style problems?
I'd probably pick IOI-style problems (mix of topics that require a lot of cool innovations/observations), although I actually enjoy ICPC's contest format more, particularly the team format and the strategy around scoreboard.
What do you do in your spare time?
Any tips to avoid burning out and to continue enjoying cp?
Please share some good resources for CP.
There are literally so many blogs answering the same question. Why did you put it here? It looks so stupid.
I see that Lunchclub is an AI company. How did you go from competitive programming to artificial intelligence?
Good question! The short answer is that a lot of the work at early-stage startups overlaps with the same skillset needed for competitive programming. It sounds silly that solving algorithmic puzzles ends up being similar to solving real-world business problems (and they are very different problems), but a lot of the underlying skills carry over well, such as iterating quickly on code, familiarity with data/statistics, and being able to adapt and learn in response to new problems.
AI is just one of the areas where those skills apply (and programming contests are certainly not the only way to develop these kinds of skills), but at this point the most common career path for US IOI contestants is actually joining/founding early-stage startups.
When can I stock up on lunchclub shares?
I think you just have to join the team tbh
In other words, he's hiring
Why did you choose economics at Harvard instead of computer science?
I had already done quite a bit of programming by then and wanted to learn more about other fields (quantitative finance, public policy etc.) I ended up dropping out anyway so it didn't turn out to matter too much :)
I'm very close to being red right now, at this point it seems that I'm very "saturated", like I've learned most of the commonly known things and practiced a lot, so I don't understand how can I improve further.
Can you describe your journey from Red to Nutella?
I just stopped participating for time being. Feeling that contests are just speed forces. Solve ABC (in 6 problems) or AB (in 5 problems) then just get stuck at that point. So I ask the same question.
Interesting question. Many people start to plateau at the level you describe. For me the way to move forward was to focus on consistency and not allow any excuses for failure. If you miss the idea to use binary search in a problem, you need to learn exactly why binary search was applicable, and see what hints could motivate you to think of binary search in a future problem. If your segtree had a bug, you need to practice coding segtrees until you never make that bug again, etc. It’s one of the hardest parts of the journey for sure.
Thanks for the advice, I'll surely apply that!
Guess life isn't in the fast lane anymore :p
I find that funny as I'm at my peak rating and I still feel like there's so much more to learn.
I think it's just Dunning Kruger Effect... The more you know, the more you understand how much you don't know...
The things you think you're weak at, I probably don't even know that they exist.
Why did you dropout from Harvard ? Harvard would have potentially got another gold at ICPC WF had you competed in your second ICPC WF.
How tall are you ??
When are we going to do a 1v1 lockout? Cause I can't wait to destroy you.
What are you going to change now (if you lose)? You have already changed your template..
#define cout scott_says
error: 'scott_says' was not declared in this scope
oh, I'm stupid
No, actually C++ is weird )
[Deleted]
I wonder how you can have this simple doubt when you are cyan and have this much rating...
but here it goes
#define max 100
#define is a pre-processor directive.Pre-processing is a process that takes place before tha actual compilation of your code.
once the pre-processor finds this statement then it replaces every occurance of max to 100
As in Errichto's case , he mistakenly wrote #define cout scott_wu istead of #define scott_wu cout
In the first case it will replace every cout with scott_wu .As scott_wu isn't a keyword in C++ hence it would obviously produce some error
I wonder how you can have this simple doubt when you are cyan and have this much rating...
Six months ago I wasn't.
Oh sorry i didn't notice that.
BTW i am just a newbie. So you're surely better than me
Yeah we can play whenever, hope you're ready for
#include <scott_wu>
Thats 3 minutes though not the 3 seconds we got to talk about lol
how can we keep calm after a horrible performance on a contest (and what do you do in these situations)?
I'm really bad at that honestly. But IMO it's good to feel motivated to improve as long as it doesn't affect your mood for too long :)
How you spent your time on CP (in hours per day)?
(1. During university classes, 2. During semester exams, 3. During vacations)
Between patience and hardworking, which one is more crucial in programming ?
Why did you choose Entrepreneurship over a job?
Do you eat pineapple on pizza?
no
somehow the owl looks more scary to me lol
One of the your favorite easy problems?(At most DIV2C range)
What is the story behind Lunchclub ?
Do you play any video games?
Looks like you took almost 1.5 years of break. Any reason?
How to practice solving math problems if there is no tutor? I mean is there any source for problems with their solutions(counting, probabilities, number theory .... )? and thanks for giving us the chance to ask you :)
Which contests do you like the most ? (Ex-Codejam, Hackercup, CF rounds,etc)
Do you play any video game? Quite interesting.
What is your silliest mistake in a live contest except overflow :)
Hmm I tried to think of some but all the examples I could come up with were overflow...
Do you like monkeys?
sir I invite you to teach me and guide me to the right path to red since scott wu sir is not replying. I know you have the capacity for that. Can i connect with you on linkedin for the time? plz
I can help guide you: in order to become red, yes, you must like monkeys.
or Do monkeys like you?
if they like you then they will probably eat you!
If I try I can do better than you? What you think?
try brother, i wanna see
Ok, here we go:
And while you're at it... Do you put the cereal in the bowl first or the milk?
2nd option, cereal into milk, then add the bowl.
no
.
Yes, otherwise I wouldn't ask
.
If I answer your question, what will you do with this information?
.
EXPERT LIVES MATTER!!!
you are master now :)
.
How would you describe your IOI and ICPC experiences?
What is it like to have a sibling who's also such a great competitive programmer? It sounds pretty cool, two super intelligent siblings..
It's pretty great honestly. There weren't too many people in my hometown who were interested in contests, so having my brother as a role model was really helpful for me.
How much do you bench?
What is your most disappointed moment in CP?
Have you ever considered pursuing an academic career?
how you got the idea for lunchclub?
I watched your commentary on Google Kickstart 2020 Round B. Excellent explanation but you tried explaining the special case of the last row in Problem D in https://youtu.be/AP74zQ0ZmRM?t=1269 But I didn't get it, can you please explain that part?
Do you think you are better than your brother ?
Can you lick your elbow?
What is your CF account's password ?
I'm assuming you're not doing a PhD at the moment (not sure if you've gone through a master degree either). What made you choose founding lunchlub over a more scientific career or even getting a job (I can see some advantages but I'm interested in your take on that).
Do you feel like you're making constant trade offs regarding theory/practice (as in you need to use something, need to read a bit about the theory behind, but end up doing so to a lesser extent than what you want, because you want to deliver the product asap)
I see you took a break from CP (presumably during the more intense university years). What made you come back to it (even before the pandemic) and how do you balance fun (CP included) with work (especially being your start up, i guess you don't have a fixed schedule)?
Is Lunchclub's internship open to people outside US, or that don't have the right to work in the US (I see it's remote, but still not sure)?
Lot of great questions!
Academia is an interesting path and it's probably the second-most common career choice out of my competitive programming friends. It has some cool positives (focus on deep unsolved problems, autonomy) but personally I've always loved to build things and I generally like quick feedback cycles, which academia lacks. Big tech companies are something of the opposite -- hands-on software work and clear progress, but less autonomy and more of a focus on "completing tasks" rather than "solving problems". So I've found that I learn most in a startup environment where there's a nice balance of both sides.
I trained contests seriously for several years and wanted to take a break in 2016-17 to pursue other passions. Eventually I found that contests were too fun not to do so I'm back again. :) I can't train nearly as much as I used to (and usually only compete on occasional weekends now) but I actually think that spending a little time to stay sharp on contests has improved my overall work productivity, counterintuitively.
Our internship and full-time positions are all open to fully remote options and you don't need to work in the US! We have great engineers all over the world and some of them are competitive programmers themselves :)
Do you think P=NP? Also, are we related?
no
How are you ?
Do you watch animes? If yes, which one is your favorite?
What qualities are you looking for in a person when you consider employing them at Lunchclub?
working in MNC -VS- own startup. Although its clear you are cofounder of Lunchclub, but wanted to know the reasons for your preference.
Also advice for young grads.
I know you did USACO as well as IOI, and did super well in them.
As an American senior going for USACO camp this year, how hard is it to make it? I've heard that it gets harder as your age increases (since they like younger folks) and I reckon a lot of the camp kids are master/red level on CF. What's your recommended way to prepare for USACO too? I've noticed USACO is more algorithm based while CF focuses more on AdHoc, so where would you recommend I go for problem sources?
Thanks for taking the time out of your day!
It's tough but not impossible! I think CF is a great resource, as are Topcoder and AtCoder. USACO Training pages were also really helpful and how I first got started.
Hi Scott! Thanks for doing AMA! I like that you have taken inspiration from ecnerwala and hopefully you will also inspire many more people!
Questions: What is the idea behind Lunchclub and where do you see it going in the future? What are some interesting things that you learned while cofounding and working at a startup? You mentioned that you dropped out of Harvard. Can you describe what was your experience there like and why did you eventually decide to drop out?
The goal of Lunchclub is to make relevant professional connections using data and ML. We got started in 2017 and have learned a lot since then, e.g. finding product/market fit, hacking on growth, improving quality with scale, adapting to COVID etc.
I really enjoyed my time at Harvard -- it exposed me to more soft skills and generalist knowledge after spending most of my middle school and high school life focusing only on contests. Dropping out was less about leaving school and more about the opportunity I wanted to pursue :)
Early bird or night owl ? scott_wu
Night owl
What factored into you deciding not to participate as a competitor in ICPC in 2016-17 (or a subsequent year) after the 3rd place finish and gold medal in 2015-16? Was it to focus on Lunchclub as alluded to in a couple of other answers?
P.S. Kudos (and thank you) to you and the Harvard 2015-16 ICPC team (and also the MIT 2015-16 ICPC team) for medalling that year and opening up another World Finals allocation for the NENA regional for 2016-17!
Which are you more likely to get wrong on the first shot: a div2B problem with a special case when n==1, or the orientation of a USB device you are trying to plug in?
What if he is using Type C ports?
I don't remember the last time I got the USB right tbh
How difficult are USACO problems in Codeforces rating?
What is your IQ?
Do you play Among Us?
I haven't but I do enjoy a lot of similar games like Mafia and Werewolf. Maybe I should give it a try :)
What would be your advice on how to imrove ad-hoc problem solving skills?
IMO most people don't try enough examples / small cases when solving problems. It takes time but is really important (samples often hide the true idea, and sometimes the pattern isn't obvious for N=2,3 and only becomes clear with higher N).
How many hours you sleep in a day?
Do you plan to make more YouTube videos?
I do! It's been hard to find the time recently but I'm planning to stream and make more videos when I can.
Could you please answer my question, about a youtube video of yours, which I asked HERE Please
I mean, we can hope and wonder that there are straightforward tips and tricks to improving recognition of problems and sifting through problem statement information, but the simple answer is that this guy has been solving problems like this and had the practice reading problems statements for many years. I suppose if you have spent a comparable amount of time it might be a genuine question, but I think most of the speed comes from his countless hours of practice.
It's quite probable, that what you are saying is exactly the reason, why scott_wu is able to read the problems that fast and accurate, without missing the crucial details. But rather than assuming what's most probable, I thought it will be a bit better for us to listen from him itself. After all, this is an AMA session rightright, and the best we can take something out of this is to learn something from him!
So that is why I asked this, let's hope scott_wu replies.
Anything you are scared of ?
As an experienced question maker, if you find a program that passes the pretest in a certain contest you hold, its algorithm is wrong, but it can pass the system test data you prepared in advance. Will you temporarily add test data and let it fst?Why?
A similar situation happened on CF some years ago. IMO a contest (including test data) is fixed as soon as the round starts, modulo clarifications / statement errors -- it's not the job of the problemsetters to try to hack solutions that come in (and it also adds a lot of subjectivity around which solutions get hacked).
What about adding actual hacks which happened during the contest to the test set?
Hello there, Scott! What's the appropriate amount of time one should spend on some problem before giving up on doing it all by thyself & look at the tutorial instead! Had asked many about this, some said 15-20 mins max, some said a while, what's your take on it & what would be YOUR advice on it! TIA
This is an interesting one. It seems like a lot of people recommend waiting and thinking more, but personally I look at editorials as soon as I get stuck. The key piece though is to make sure to connect to the motivation of the solution. "How could I make the insight that leads to discovering the solution?" is a separate question from "What is the solution?" and it's important to think about the former as well.
What’s your favorite data structure?
Which one will you prefer centroid decomposition or Hld decomposition.
i don't want to offend you but this is so gray
Np ..I asked because I was trying to solve GERALD2 problem using centroid decomposition but was not able to do so. There is an obvious solution using HLD which is mentioned in its editorial. I dont know if there exists a solution with CD at all.
Btw, I am not unexperienced. I am active on other CP sites. I just joined codeforces recently
Sir scott_wu
I have one question . When i looked at many top competitive programmers like you ecnerwala
tourist Errichto i see you all are competing in contest for a long period of time like 8 years or so?
Don't you ever feel bored of CP ?
Also do you do any job apart from this or is CP your life as of now?
Where do you see Devin going in the next 1, 2, 3, 5, and 10 years?
Sorry for necroposting