Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

A group of n people are lying on the beach. The beach is represented by the real

ID: 3873568 • Letter: A

Question

A group of n people are lying on the beach. The beach is represented by the real line R and the location of the i-th person is some integer xi Z. Your task is to prevent people from getting sunburned by covering them with umbrellas. Each umbrella corresponds to a closed interval I = [a, a+L] of length L N, and the i-th person is covered by that umbrella if xi I. Design a greedy algorithm for covering all people with the minimum number of umbrellas. The input consists of the integers x1, . . . , xn, and L. The output of your algorithm should be the positions of umbrellas. For example, if the input is x1 = 1, x2 = 3, x3 = 5, and L = 2, then an optimum solution is the set of two umbrellas placed at positions 2 and 5, covering intervals [1, 3] and [4, 6]. The running time of your algorithm should be polynomial in n.

1 2 3 4 5 6

Explanation / Answer

i=0

j=0

while(i<n)

{

if(a[i]==1)

{

umb[j] = i;

j++;

i+=3;

}

else

{

i++;

}

}

The time taken by this algorithm is O(n).

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote