Introduction to Algorithms
3rd Edition
ISBN: 9780262033848
Author: Thomas H. Cormen, Ronald L. Rivest, Charles E. Leiserson, Clifford Stein
Publisher: MIT Press
expand_more
expand_more
format_list_bulleted
Question
Chapter 35, Problem 7P
a
Program Plan Intro
To argue that the solution to instance I of the 0-1 knapsack problem is one of
b
Program Plan Intro
To prove that an optimal solution
c
Program Plan Intro
To prove that that an optimal solution
c
Program Plan Intro
Toprove that
d
Program Plan Intro
To give a polynomial-time algorithm that returns a maximum-value solution from the set
Expert Solution & Answer
Want to see the full answer?
Check out a sample textbook solutionStudents have asked these similar questions
Exercise 4
20= 10+4+6
The rod-cutting problem consists of a rod of n units long that can be cut into integer-length
pieces. The sale price of a piece i units long is Pi for i = 1,...,n. We want to apply dynamic
programming to find the maximum total sale price of the rod. Let F(k) be the maximum price
for a given rod of length k.
1. Give the recurrence on F(k) and its initial condition(s).
2. What are the time and space efficiencies of your algorithm?
Now, consider the following instance of the rod-cutting problem: a rod of length n=5, and the
following sale prices P1=2, P2=3, P3-7, P4=2 and P5=5.
There are n people who want to carpool during m days. On day i, some subset si ofpeople want to carpool, and the driver di must be selected from si . Each person j hasa limited number of days fj they are willing to drive. Give an algorithm to find a driverassignment di ∈ si each day i such that no person j has to drive more than their limit fj. (The algorithm should output “no” if there is no such assignment.) Hint: Use networkflow.For example, for the following input with n = 3 and m = 3, the algorithm could assignTom to Day 1 and Day 2, and Mark to Day 3.
Person
Day 1
Day 2
Day 3
Limit
1 (Tom)
x
x
x
2
2 (Mark)
x
x
1
3 (Fred)
x
x
0
There are n people who want to carpool during m days. On day i, some subset ???? of people want to carpool, and the driver di must be selected from si . Each person j has a limited number of days fj they are willing to drive. Give an algorithm to find a driver assignment di ∈ si each day i such that no person j has to drive more than their limit fj. (The algorithm should output “no” if there is no such assignment.) Hint: Use network flow. For example, for the following input with n = 3 and m = 3, the algorithm could assign Tom to Day 1 and Day 2, and Mark to Day 3.
Person
Day 1
Day 2
Day 3
Driving Limit
1 (Tom)
x
x
x
2
2 (Mark)
x
x
1
3 (Fred)
x
x
0
Chapter 35 Solutions
Introduction to Algorithms
Ch. 35.1 - Prob. 1ECh. 35.1 - Prob. 2ECh. 35.1 - Prob. 3ECh. 35.1 - Prob. 4ECh. 35.1 - Prob. 5ECh. 35.2 - Prob. 1ECh. 35.2 - Prob. 2ECh. 35.2 - Prob. 3ECh. 35.2 - Prob. 4ECh. 35.2 - Prob. 5E
Ch. 35.3 - Prob. 1ECh. 35.3 - Prob. 2ECh. 35.3 - Prob. 3ECh. 35.3 - Prob. 4ECh. 35.3 - Prob. 5ECh. 35.4 - Prob. 1ECh. 35.4 - Prob. 2ECh. 35.4 - Prob. 3ECh. 35.4 - Prob. 4ECh. 35.5 - Prob. 1ECh. 35.5 - Prob. 2ECh. 35.5 - Prob. 3ECh. 35.5 - Prob. 4ECh. 35.5 - Prob. 5ECh. 35 - Prob. 1PCh. 35 - Prob. 2PCh. 35 - Prob. 3PCh. 35 - Prob. 4PCh. 35 - Prob. 5PCh. 35 - Prob. 6PCh. 35 - Prob. 7P
Knowledge Booster
Similar questions
- An electrician has wired n lights, all initially on, so that: 1) light 1 can always be turned on/off, and 2) for k > 1, light k cannot be turned either on or off unless light k – 1 is on and all preceding lights are off for k > 1. The question we want to explore is the following: how many moves are required to turn all n lights off? For n = 5, a solution sequence has been worked out below. Fill in the missing entries. The lights are counted from left to right, so the first bit is the first light, and so on. 11111 01111 11011 10011 00010 10010 11010arrow_forwardWe are given three ropes with lengths n₁, n2, and n3. Our goal is to find the smallest value k such that we can fully cover the three ropes with smaller ropes of lengths 1,2,3,...,k (one rope from each length). For example, as the figure below shows, when n₁ = 5, n₂ 7, and n3 = 9, it is possible to cover all three ropes with smaller ropes of lengths 1, 2, 3, 4, 5, 6, that is, the output should be k = 6. = Devise a dynamic-programming solution that receives the three values of n₁, n2, and n3 and outputs k. It suffices to show Steps 1 and 2 in the DP paradigm in your solution. In Step 1, you must specify the subproblems, and how the value of the optimal solutions for smaller subproblems can be used to describe those of large subproblems. In Step 2, you must write down a recursive formula for the minimum number of operations to reconfigure. Hint: You may assume the value of k is guessed as kg, and solve the decision problem that asks whether ropes of lengths n₁, n2, n3 can be covered by…arrow_forwardGiven A = {1,2,3} and B={u,v}, determine. a. A X B b. B X Barrow_forward
- There are n students who studied at a late-night study for final exam. The time has come to order pizzas. Each student has his own list of required toppings (e.g. mushroom, pepperoni, onions, garlic, sausage, etc). Everyone wants to eat at least half a pizza, and the topping of that pizza must be in his reqired list. A pizza may have only one topping. How to compute the minimum number of pizzas to order to make everyone happy?arrow_forwardConsider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Design a bottom-up (non-recursive) O(nk)-time algorithm that makes change for any set of k different coin denominations. Write down the pseudocode and analyze its running time. Argue why your choice of the array and the order in which you ll in the values is the correct one.arrow_forwardConsider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Prove that the coin changing problem exhibits optimal substructure. Design a recursive backtracking (brute-force) algorithm that returns the minimum number of coins needed to make change for n cents for any set of k different coin denominations. Write down the pseudocode and prove that your algorithm is correct.arrow_forward
- A robot can move horizontally or vertically to any square in the same row or in the same column of a board. Find the number of the shortest paths by which a robot can move from one corner of a board to the diagonally opposite corner. The length of a path is measured by the number of squares it passes through, including the first and the least squares. Write the recurrence relation if you solve the problem by a dynamic programming algorithm.arrow_forwardConsider the problem of making change for n cents using the fewest number of coins. Assume that we live in a country where coins come in k dierent denominations c1, c2, . . . , ck, such that the coin values are positive integers, k ≥ 1, and c1 = 1, i.e., there are pennies, so there is a solution for every value of n. For example, in case of the US coins, k = 4, c1 = 1, c2 = 5, c3 = 10, c4 = 25, i.e., there are pennies, nickels, dimes, and quarters. To give optimal change in the US for n cents, it is sufficient to pick as many quarters as possible, then as many dimes as possible, then as many nickels as possible, and nally give the rest in pennies. Design a bottom-up (non-recursive) O(nk)-time algorithm that makes change for any set of k different coin denominations. Write down the pseudocode and analyze its running time. Argue why your choice of the array and the order in which you fill in the values is the correct one. Notice how it is a lot easier to analyze the running time of…arrow_forwardWrite a recurrence that would be used in dynamic programming for thefollowing problem: Given a rod of length n and an array A of prices thatcontain all prices of all the pieces smaller than n. Determine the maximumvalue obtained by cutting up the rod and selling the pieces. Note that youcould sell the rod at its original length without cutting it.arrow_forward
- We have N jobs and N workers to do these jobs. It is known at what cost each worker will do each job (as a positive numerical value). We want to assign jobs to workers in such a way that the total cost of completion of all jobs is minimal among other possible alternative assignments. For this problem, write the algorithm as pseudocode, whose input is a matrix representing worker/job costs, and the output is a list of tuples showing which work will be done by which worker, and that tries to reach the solution with GREEDY technique. Explain in what sense your algorithm exhibits greedy behavior. What is the time complexity of your algorithm? Interpret if your algorithm always produces the best (optimum) result for each instance of the problem.arrow_forward1: Given a fixed integer B (B ≥ 2), we demonstrate that any integer N (N ≥ 0) can bewritten in a unique way in the form of the sum of p+1 terms as follows:N = a0 + a1×B + a2×B2 + … + ap×Bpwhere all ai, for 0 ≤ i ≤ p, are integer such that 0 ≤ ai ≤ B-1.The notation apap-1…a0 is called the representation of N in base B. Notice that a0 is theremainder of the Euclidean division of N by B. If Q is the quotient, a1 is the remainder of theEuclidean division of Q by B, etc.1. Write an algorithm that generates the representation of N in base B. 22. Compute the time complexity of your algorithm.arrow_forward7. For n 2 1, in how many out of the n! permutations T = (T(1), 7(2),..., 7 (n)) of the numbers {1, 2, ..., n} the value of 7(i) is either i – 1, or i, or i +1 for all 1 < i < n? Example: The permutation (21354) follows the rules while the permutation (21534) does not because 7(3) = 5. Hint: Find the answer for small n by checking all the permutations and then find the recursive formula depending on the possible values for 1(n).arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- C++ Programming: From Problem Analysis to Program...Computer ScienceISBN:9781337102087Author:D. S. MalikPublisher:Cengage Learning
C++ Programming: From Problem Analysis to Program...
Computer Science
ISBN:9781337102087
Author:D. S. Malik
Publisher:Cengage Learning