Is there any greedy approach for finding minimum operations required for making a_i to b_i ?
# | User | Rating |
---|---|---|
1 | tourist | 3803 |
2 | jiangly | 3707 |
3 | Benq | 3627 |
4 | ecnerwala | 3584 |
5 | orzdevinwang | 3573 |
6 | Geothermal | 3569 |
6 | cnnfls_csy | 3569 |
8 | Radewoosh | 3542 |
9 | jqdai0815 | 3532 |
10 | gyh20 | 3447 |
# | User | Contrib. |
---|---|---|
1 | awoo | 163 |
2 | maomao90 | 160 |
3 | adamant | 159 |
4 | maroonrk | 152 |
5 | -is-this-fft- | 150 |
6 | atcoder_official | 148 |
6 | SecondThread | 148 |
8 | nor | 147 |
9 | TheScrasse | 146 |
10 | Petr | 144 |
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.