1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
saul85 [17]
3 years ago
7

You are given a sequence of n songs where the ith song is l minutes long. You want to place all of the songs on an ordered serie

s of CDs (e.g. CD 1, CD 2, CD 3,... ,CD k) where each CD can hold m minutes. Furthermore, (1) The songs must be recorded in the given order, song 1, song 2,..., song n. (2) All songs must be included. (3) No song may be split across CDs. Your goal is to determine how to place them on the CDs as to minimize the number of CDs needed. Give the most efficient algorithm you can to find an optimal solution for this problem, prove the algorithm is correct and analyze the time complexity
Computers and Technology
1 answer:
tatuchka [14]3 years ago
4 0

Answer:

This can be done by a greedy solution. The algorithm does the following:  

Put song 1 on CD1.

For song 1, if there's space left on the present CD, then put the song on the present CD. If not, use a replacement CD.

If there are not any CDs left, output "no solution".

Explanation:  

The main thing is prove the correctness, do that by the "greedy stays ahead argument". For the primary song, the greedy solution is perfect trivially.  

Now, let the optimal solution match the greedy solution upto song i. Then, if the present CD has space and optimal solution puts song (i+1) on an equivalent CD, then the greedy and optimal match, hence greedy is not any worse than the optimal.Else, optimal puts song (i + 1) on subsequent CD. Consider an answer during which only song (i + 1) is moved to the present CD and zip else is modified. Clearly this is often another valid solution and no worse than the optimal, hence greedy is not any worse than the optimal solution during this case either. This proves the correctness of the algorithm. As for every song, there are constantly many operations to try to do, the complexity is O(n).

You might be interested in
How are satellite radio, Internet radio, and podcasting different?
Lilit [14]
Satellite radio is a subscription-based service, while HD radio is provided at no cost by current radio providers. Internet radio and podcasting have allowed many new programs and stations to be broadcast at low cost.
5 0
3 years ago
You created the following dictionary relationships = {'Jimmy':'brother', 'Carol':'sister'}. You then executed the following code
dybincka [34]

Answer:

This is because the key in relationships['jimmy'] is wrong. The first letter "j" should be uppercase. The key in the given dictionary is "Jimmy" and therefore a lowercase "j" will result in a KeyError exception. The key is case sensitive and therefore a minor mistake in a single letter either in lowercase or uppercase will cause the error. The correct usage of key to address the value should be relationships["Jimmy"].

3 0
4 years ago
One random part of Chess is whether the white side or the black side moves first? A. True B. False
ohaa [14]
The correct answer is B. false.
Determining which color goes first is not random at all - it is a rule in chess that the White player will always start the game first, and will then be followed by the Black player. 
5 0
3 years ago
Read 2 more answers
Which command on the Insert tab of the PowerPoint Online application is used to add a Venn diagram or process chart to a present
Setler [38]

The command to add a Venn Diagram or a process chart on PowerPoint Online is to select the Insert tab, then select the SmartArt button, and there is the process charts listed under Process. But the Venn Diagram is listed under List.

7 0
3 years ago
Read 2 more answers
How should I do it Please code for Java
andrew-mc [135]

Answer:

class Main {  

 public static void printPattern( int count, int... arr) {

     for (int i : arr) {

       for(int j=0; j<count; j++)

           System.out.printf("%d ", i);

       System.out.println();

     }

     System.out.println("------------------");

 }

 public static void main(String args[]) {

   printPattern(4, 1,2,4);

   printPattern(4, 2,3,4);

   printPattern(5, 5,4,3);

 }

}

Explanation:

Above is a compact implementation.

3 0
3 years ago
Other questions:
  • What CLI command can be issued in CentOS 7 to help you to see every "hop" that a connection makes, including all of the switches
    13·1 answer
  • If you purchase a software suite for personal use, you can install the software how many times on how many different machines?
    6·1 answer
  • True / False<br> Registers are generally optimized for capacity instead of speed.
    14·1 answer
  • In what ways are Outlook notes useful for personal or professional use? Check all that apply.
    13·2 answers
  • 10 points (sorry it won’t let me do more points)
    10·1 answer
  • Provide examples of the cost of quality based on your own experiences
    14·1 answer
  • Help me out with this .....
    10·1 answer
  • True or false when a host gets an IP address from a DHCP server it is said to be configured manually
    15·1 answer
  • Do debit cards offer the highest level of fraud pretection?
    10·1 answer
  • Which is a common problem for inserting pictures into placeholders?
    10·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!