You are not logged in. Please login at www.codechef.com to post your questions!

×

NOV17 Video Tutorial - CSUBQ

12
4

Its beautiful how a simple data structure, especially Segment Tree, can be used to solve such a variety of problems.
Can you count the number of subarrays that lie in range [l,r] having maximal element in range [L,R]?

The problem was solved using 2 segment trees built on binary arrays i.e all elements are 0 or 1 and were used to query the number of subarrays in range [l,r] consisting of only 1s.

Check out the video to learn:
CSUBQ Tutorial - NOV17 Long Challenge

Here is yet another application of Segment Trees in solving another medium-hard problem from Codechef NOV17 Long Challenge.

Keep sharing, keep loving.

asked 13 Nov, 21:55

rachitiitr's gravatar image

6★rachitiitr
1.3k216
accept rate: 0%

edited 13 Nov, 21:56

Your video editorial are just amazing i tried this problem for 3 days but didnt able to get the trick for 100. But finally after this video get it completely. Thanks for this video editorial.☺️

(13 Nov, 22:35) droy05284★

@droy0528 Thanks :)

(14 Nov, 12:16) rachitiitr6★

One other possible approach using segment tree could to maintain 5 values in every node. Invalid (greater than R) value from right, Invalid (less than L) from right, Invalid (greater than R) value from left, Invalid (less than L) from left and answer for node. Merging can be done by taking union of all valid subarrays while merging. Link

link

answered 14 Nov, 06:16

givingmybest's gravatar image

5★givingmybest
513
accept rate: 0%

edited 14 Nov, 06:22

good work (y)

link

answered 14 Nov, 17:43

vidyut_1's gravatar image

4★vidyut_1
843
accept rate: 9%

@vidyut_1 thanks

(yesterday) rachitiitr6★

I solved it using just one segment tree.here

link

answered 2 days ago

robinhoodakash's gravatar image

3★robinhoodakash
212
accept rate: 0%

toggle preview
Preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported
  • mathemetical formulas in Latex between $ symbol

Question tags:

×1,256
×522
×247
×35

question asked: 13 Nov, 21:55

question was seen: 749 times

last updated: yesterday