Removal of billboards from given ones

前端 未结 7 1926
Happy的楠姐
Happy的楠姐 2020-12-14 11:46

I came across this question

ADZEN is a very popular advertising firm in your city. In every road you can see their advertising billboards. Recentl

7条回答
  •  盖世英雄少女心
    2020-12-14 12:23

    It's a typical DP problem. Lets say that P(n,k) is the maximum profit of having k billboards up to the position n on the road. Then you have following formula:

     P(n,k) = max(P(n-1,k), P(n-1,k-1) + C(n))
     P(i,0) = 0 for i = 0..n
    

    Where c(n) is the profit from putting the nth billboard on the road. Using that formula to calculate P(n, k) bottom up you'll get the solution in O(nk) time.

    I'll leave up to you to figure out why that formula holds.

    edit

    Dang, I misread the question.

    It still is a DP problem, just the formula is different. Let's say that P(v,i) means the maximum profit at point v where last cluster of billboards has size i. Then P(v,i) can be described using following formulas:

    P(v,i) = P(v-1,i-1) + C(v) if i > 0 
    P(v,0) = max(P(v-1,i) for i = 0..min(k, v)) 
    P(0,0) = 0
    

    You need to find max(P(n,i) for i = 0..k)).

提交回复
热议问题