He's the best competitive programmer in my opinion. He devotes so much to the community. Thankyou errichto!
@Thy_panda_king3 жыл бұрын
Totally agree 😁
@utkarshdevgan61993 жыл бұрын
This is the greatest tutorial I have ever seen, soo detailed and crystal clear!!!!!!
@Errichto3 жыл бұрын
Thanks :)
@vishnusingh41183 жыл бұрын
This is a work of art and beauty! There are people who can do but can't teach. Then there are those who can maybe teach but can't do. Then there are legends, who can do both at a mediocre level. And then God said, "Let Errichto be". 🙌. You make complex stuff seem so mind-blowingly simple! Can't thank you enough!
@Errichto3 жыл бұрын
I think you're exaggerating but still - thank you!
@gsscala5 ай бұрын
That's crazy bro
@saikumarganganapalli59573 жыл бұрын
The transition from logorithm to constant complexity for each query had put a smile. That was so cool.😎. Excellent explanation. Keep it going.
@Errichto3 жыл бұрын
I agree that the transition is nice and satisfying.
@loonshott10 ай бұрын
Thanks for this amazing course. Your explanation is just in another level.
@berfubuyukoz3537 ай бұрын
Watching you is almost like having a 1-1 lecture with you. It's as if you are empathetic to what the learner could think of next, and you answer in the next second (or more accurately, YOU enable the learner think the right way). I get the same experience when reading the book of Martin Kleppmann. I believe this is sth you see only from great explainers. Anyway, just wanted to share. Thanks for all the effort you put through your videos Errichto!
@magnuseifr3 жыл бұрын
c++ also has builtin function __lg for base-2 logs with integers. Nice and clear explanation (as always)!
@Errichto3 жыл бұрын
Oh, right.
@GGxEpsilon3 жыл бұрын
I think log2 does the same, doesnt it?
@magnuseifr3 жыл бұрын
@@GGxEpsilon I think __lg belongs to the gcc compiler and is designed to work on integers (or long longs) specifically. log2 should have the same behaviour, but as Errichto mentions in the video: floating point values are scary to work with.
@rajd70023 жыл бұрын
Finally a video that perfectly explains the core concept. I was able to come up with log n approach before you explained and was so proud of myself. And then you dropped constant time which blew my mind. :D Thanks Errichto!
@mrdude10843 жыл бұрын
I was looking for sparse table tutorial. When I saw Errichto's video in the list, I knew I couldn't get any luckier.
@nighteagle62973 жыл бұрын
You are the best competitive programmer. Very thanks. I understood it very clearly. Thanks for spending a lot of time to explain us. Thank you Errichto!
@sureshchaudhari44653 жыл бұрын
Errichto this is so nice and simple explanation I read it in book but did not understand you are really nice at explaining
@BrunoSouza-wy2et3 жыл бұрын
amazing dude, I've been following your videos for a year now and you are always improving the way u teach. thanks !
@Errichto3 жыл бұрын
Let's hope that I will keep improving then :)
@asifanwarsajid83323 жыл бұрын
Read about sparse table 2 days back. I checked if you had made any video on it. And here it is. 💯
@__agpatel__3 жыл бұрын
He is really great and down to earth person....always willing to do something good for community....👍👍👍
@vietnguyenquoc49484 ай бұрын
You explain this beautifully, thank you so much Hopes you comeback with more explaining video
@anshusingh24733 жыл бұрын
today i am practice codeforces Div2 C problem but i am not able to solve efficiently and seen editorial sparse table algorithm is used then learn this from your lecture then simply solve and learn this concept smart way very thankful for you explanation
@ayamtaken25803 жыл бұрын
I don't understand anything you're saying, but your voice is so soothing like ASMR to me
@vaibhavtiwari65403 жыл бұрын
Lmao, simp.
@farhan7873 жыл бұрын
Finally Errichto is back :)
@gauravupreti93402 жыл бұрын
Best Explanation, you made it so easy to understand. Please keep up the good work 😊
@manjuender62863 жыл бұрын
Woah explained so simple, seems like a complex math but it is not once you understand the intent behind thanks a lot for the video
@joserenteria58993 жыл бұрын
i love learning from Errichto more than my own profs
@sourandbitter30623 жыл бұрын
This is very cool. Eager to learn about the segment tree. I didn't know about this. There surely are good use cases for this algorithm. For sure segment trees, or a similar structure, are used in databases.
@hitesh68563 жыл бұрын
Video quality and explanation is soo good. Thank-you!!
@kxb60983 жыл бұрын
Clear, concise, and perfect explanation
@anowlwithinternet91259 ай бұрын
You never dissappoint!
@glaucoa.92143 жыл бұрын
Erichto you are the best person in the world!
@rishabhkalra95053 жыл бұрын
that was indeed a really good explanation to sparse tables. Thank you for this video. :)
@CrystalSergeant3 жыл бұрын
I love even more your recent videos
@vwv.1d2 жыл бұрын
may you get all of what you want in life..i respect you
@ashisharyan30283 жыл бұрын
Thank,I just needed this perfect and Crystal clear explanation .Orz
@coefficient13593 жыл бұрын
Very nice explanation Errichto
@iftekharfahim3 жыл бұрын
Please do some Videos on Data Structure. Your explanations are simple and precise.
@mjKeszely3 жыл бұрын
Duma rozpiera, że rodak jest takim mózgiem :)
@hiderr68053 жыл бұрын
Dzięki za pomoc w przygotowaniu do Olimpiady Informatycznej Juniorów (:
@houcyhoucy34864 күн бұрын
Excellent! Which whiteboard tool do you use to draw on on screen? It seems great.
@sameerbamnaha21893 жыл бұрын
Amazing tutorial!!! Really enjoyed it and learned a lot!
@subarnodatta21813 жыл бұрын
Wonderful video. Helped me a lot sir
@ahmmedsakibnoman28493 жыл бұрын
plz do segment tree.. waiting for a long time..
@5590priyank3 жыл бұрын
Amazing tutorial, for so long I was not sure how queries take constant time and not logN time. I always thought we need to answer each queries such that we divide range into powers of 2... finally your tutorial solved that for me that we need to take largest power of 2 which fits in given range and check from L and R end point and hence it is O(1). thank you so much for clearing this :) Also this clears why we can't use sparse table for answering range sum queries in O(1) because we are using overlapping ranges, right?
@atharvasalokhe51683 жыл бұрын
Hello guys, I am errichto, is so cool to hear
@Vikash_Art3 жыл бұрын
For computing "k" in the query function we can do k=floor(log2(len)) then we can have 2^k
@AnkitJosh3 жыл бұрын
Thanks ☺️ , this lecture was really helpful.
@userrand4900 Жыл бұрын
Is the condition in line 30, correct? It does not reflect m[i + (1
@tripleaplusb22143 жыл бұрын
Hi , can I know the name of program used to explain pls?
@vineethkumar81323 жыл бұрын
Wow! its so clear even a 5 year old IQ guy lile me understands , Thank you for the wonderful content Ericchto !
@priceandpride3 жыл бұрын
The brain on this man
@beaujamo Жыл бұрын
Thank you! Got mine working now! Awesome tutorial!
@i_am_wiz Жыл бұрын
Won’t the time complexity for answering a single query still logN as we are computing log2(len) where len is R - L + 1 which in worst case is of the order (N). So won’t the time complexity be logN per query?
@ejackkulation73772 жыл бұрын
Thank you, Errichto.
@josealejandrovaroncarreno16923 жыл бұрын
the best youtuber
@madhvansharma59172 жыл бұрын
Can we use sparse table for sum queries if we use the method where we convert ranges to binary and add it like we do in binary lifting (query time = logN)?
@MehbubulHasanAlQuvi3 жыл бұрын
Keep up these good tutorials. Thanks a lot
@pavankumar-cy6mg3 жыл бұрын
why it is k
@xiangli95882 жыл бұрын
you are wrong
@learning75172 жыл бұрын
I agree that using log2(x) is something to be avoided generally, however, if x < 2^31, it is guaranteed that the result of (int)log2(x) will be the same of any the bit tricks, so it might be a good choice if it's faster to code.
@manas_singh3 жыл бұрын
How do you find problems on SPOJ? It seems so difficult to find by tags.
@plosslaw3 жыл бұрын
Amazing stuff, good explanation
@therealcdubbb80403 жыл бұрын
Can you have multiple overlapping intervals?
@isma--2 жыл бұрын
Hey Errichto, one question, what do you use in order to write your notes, i think you use like a tablet or something
@simonstrandgaard55033 жыл бұрын
Great explanation.
@siddharthmagadum163 жыл бұрын
He's sooo clever. Thanks for the video
@vali89243 жыл бұрын
Very nice explanation
@joshuawilson6907 Жыл бұрын
I got WA with this code on spoj, do you guys have any ideas?
@GGxEpsilon3 жыл бұрын
Errichto orz ❤️
@ankitvats32953 жыл бұрын
What an explanation! op
@nileshchandra64353 жыл бұрын
Should have checked this out before, not knowing sparse tables cost me yesterday as the seg tree failed in time.
@subarnodatta21813 жыл бұрын
I don't know why people disliked this video.🤷♂️🤷♂️
@QngTu11593 жыл бұрын
Can someone explain me what is “1
@leviackerman98823 жыл бұрын
Search bitwise left shift and right shift on KZbin Also i think errichto has a video on bit manipulation where he explained left shift and right shift
@leviackerman98823 жыл бұрын
Here you go : kzbin.info/www/bejne/romufWyPd7yaebs
@QngTu11593 жыл бұрын
@@leviackerman9882 Tks u so much
@apoorvmehra1213 жыл бұрын
It means 2 to the power k
@rohitoze93592 жыл бұрын
Line 27, shouldn't it be i
@parashararamesh42523 жыл бұрын
How would we handle updates?
@Errichto3 жыл бұрын
You need a segment tree for that.
@shivam68293 жыл бұрын
Please make detailed videos on segment tree and it various applications( like, min , max, updating, sum, frequency of max frequent element in the asked range etc...)
@kongzilla28973 жыл бұрын
Nice!! Binary is always Beautiful :)
@jakoolaboo3 жыл бұрын
Thank you for this great video BTW : Is the __builtin function O(1) or O(log) or what ??
@hitesh68563 жыл бұрын
It is O(number of bits), so it is essentially O(1)
@Errichto3 жыл бұрын
@@hitesh6856 It's O(1) rather than O(number of bits). CPU doesn't need to iterate bits one by one, it does it faster just like other basic operations like addition.
@hitesh68563 жыл бұрын
@@Errichto ohh. I didn't knew that. Thanks! big fan..!
@jakoolaboo3 жыл бұрын
@@Errichto thx for answering
@srishtikdutta89463 жыл бұрын
Awesome!!
@Dima-Teplov3 жыл бұрын
Many thanks!
@shrikantpadhy61253 жыл бұрын
Segment tree can also do the same right? So whats the advantage here?
@mohansharma-pt6yk Жыл бұрын
Time complexity becomes O(N+Q*logN) and improves space complexity too
@skt7088 Жыл бұрын
@@mohansharma-pt6yk in segment tree time complexity is O(QlogN)?
@apoorvmehra1213 жыл бұрын
Amazing👍🏽👍🏽
@shaoxiongduan3 жыл бұрын
legend.
@milepivo3 жыл бұрын
It would be nice if you covered CSES problemset. It has a lot of educational problems that are hard to solve if you don't know the right technique.
@KuaisArts3 жыл бұрын
check out CPH. CSES is a supplementary problem set to that book. Good luck!
@BGOPC11 ай бұрын
2 year's in and still waiting for the segment tree video
@darshankubavat17643 жыл бұрын
Errichto can you please make a video on how to deal with burnouts we face while constant coding?
@joshuawilson6907 Жыл бұрын
I can AC the cses problem but cant for the spoj :))
@skullcode88563 жыл бұрын
10:00 this was when I started thinking that sparse tables are clever.
@rishabhpurwar48753 жыл бұрын
You're amazing
@Steve168xyz3 жыл бұрын
Thanks for this vid - i like your background - so the goal to the get the O(N*log((N) + Q) though N is increasing tremendously ?
@Errichto3 жыл бұрын
It's O(N*log(N) + Q) so it makes a lot of sense if Q is huge.
@nishant52493 жыл бұрын
We can also solve this problem using sliding window concept in O(n) time
@gnet8883 жыл бұрын
Thanks You
@p4rzival1273 жыл бұрын
This reminds of Reversort in Codejam Quali
@aakashvishwakarma46533 жыл бұрын
💯💯💯
@tihomirjovicicify3 жыл бұрын
awesome
@anshusingh24733 жыл бұрын
your balance bracket concept apply div2 B problem in contest get Accepted and my rank under 2500 thanks for you good job
@Errichto3 жыл бұрын
:)
@puneetgoel74163 жыл бұрын
What balance bracket concept? Could u pls share the link of that video 🙏🙏
@anshusingh24733 жыл бұрын
kzbin.info/www/bejne/ppq3Zmuag7GDnsk
@dhakad22klx Жыл бұрын
Easily explained.
@asdfinonebody41033 жыл бұрын
good !
@koushiksaigopalamalladi59943 жыл бұрын
pls do video on disjoint set union
@Shirolicious3 жыл бұрын
i dnno, this guy is godtier. I cannot compute. syntax error
@shnerdz3 жыл бұрын
please do segment trees next
@nisarggogate89523 жыл бұрын
Hey in preprocessing part inner for loop should be for(i=0;i+(1
@imRJD14Ай бұрын
what a sexy explanation
@anonymoussloth66872 жыл бұрын
I saw this somewhere to find largest power of 2 less than or equal to n: x=n While(x&(x-1)) x&=x-1; Now x will be the answer