Is there any greedy approach for finding minimum operations required for making a_i to b_i ?
# | User | Rating |
---|---|---|
1 | tourist | 3993 |
2 | jiangly | 3743 |
3 | orzdevinwang | 3707 |
4 | Radewoosh | 3627 |
5 | jqdai0815 | 3620 |
6 | Benq | 3564 |
7 | Kevin114514 | 3443 |
8 | ksun48 | 3434 |
9 | Rewinding | 3397 |
10 | Um_nik | 3396 |
# | User | Contrib. |
---|---|---|
1 | cry | 167 |
2 | Um_nik | 163 |
3 | maomao90 | 162 |
3 | atcoder_official | 162 |
5 | adamant | 159 |
6 | -is-this-fft- | 158 |
7 | awoo | 157 |
8 | TheScrasse | 154 |
9 | Dominater069 | 153 |
9 | nor | 153 |
Is there any greedy approach for finding minimum operations required for making a_i to b_i ?
Name |
---|
This is weird! I think this is because we can know how many operations are needed to get from $$$1$$$ to $$$b_i$$$ greedily.
can you share your greedy approach ?
i've been trying but not able to come up with any!!
We can always choose $$$x = 1$$$ so that when performing $$$a_i = a_i + \lfloor{\frac{a_i}x\rfloor}$$$ is the same as $$$ a_i = 2a_i$$$.
Let $$$b_i$$$ is the minimum number of the above operation to get from $$$1$$$ to $$$i$$$. Sense $$$i <= 10^3$$$ so we need at most $$$\lceil \log_2{10^3} \rceil$$$ operations, $$$b_i \le 10$$$.
Update:
Ops! forget about it, in the last operation we can't increase by all values in the range $$$[1, a_i)$$$. Only some of them are available.
The editorial provided a DP approach for it, check it out.
It tagged greedy because it's a knapsack problem.
By the way, thanks for sharing a great problem to solve.
But the problem can't be solved greedily. The greedy approach only works with the fractional knapsack (as far as I know).
Tags are sometimes wrong.