You are playing a card game. In this game, your opponent places n monster cards onto the board, the i th of which has hi health points. You in turn have m ≥ n hero cards in your hand, the j th of which deals dj damage per turn. To begin the game, you will choose n heroes from your hand and assign each of them to a different enemy monster. Each turn, your heroes will deal damage equal to their damage power to the opposing enemy. If at any point an opponent’s monster reaches 0 health or less, then it is destroyed. You are given a limited number of turns k to destroy all enemy monsters. Design an algorithm which runs in O(m + n log n) time and determines whether it is possible to assign your heroes in such a way as to destroy all enemy monsters in k turns or fewer First develop a Θ(m log m) time algorithm, then improve it to Θ(m + n log n) Do not write the code, give steps and methods. Explain the steps of algorithm, and the logic behind these steps in plain English input is The number of monsters n, the health points hi of each monster, the number of heroes m, the damage power dj of each hero, and the number of turns k. Each of the n chosen heroes is paired with exactly one monster. Each of the n chosen heroes is paired with a different monster. There is no rearrangement after the initial allocation of heroes to monsters. Each of the n chosen heroes fights their allocated monster, dealing dj points of damage per turn. If all n monsters are destroyed in k turns or fewer, the player wins. Otherwise, the player loses. the monsters don't deal damage to the heroes. Hint: Which hero should be assigned to the monster with the most health points
You are playing a card game. In this game, your opponent places n monster cards onto the board, the i th of which has hi health points.
You in turn have m ≥ n hero cards in your hand, the j th of which deals dj damage per turn.
To begin the game, you will choose n heroes from your hand and assign each of them to a different enemy monster.
Each turn, your heroes will deal damage equal to their damage power to the opposing enemy.
If at any point an opponent’s monster reaches 0 health or less, then it is destroyed.
You are given a limited number of turns k to destroy all enemy monsters.
Design an
First develop a Θ(m log m) time algorithm, then improve it to Θ(m + n log n)
Do not write the code, give steps and methods. Explain the steps of algorithm, and the logic behind these steps in plain English
input is The number of monsters n, the health points hi of each monster, the number of heroes m, the damage power dj of each hero, and the number of turns k.
Each of the n chosen heroes is paired with exactly one monster. Each of the n chosen heroes is paired with a different monster.
There is no rearrangement after the initial allocation of heroes to monsters.
Each of the n chosen heroes fights their allocated monster, dealing dj points of damage per turn. If all n monsters are destroyed in k turns or fewer, the player wins. Otherwise, the player loses. the monsters don't deal damage to the heroes.
Hint: Which hero should be assigned to the monster with the most health points?
Step by step
Solved in 2 steps