LeetCode 2742.给墙壁刷油漆

LeetCode 2742.给墙壁刷油漆_第1张图片

思路

dp(u,count)为当前再考虑下标为1-u的墙面,并且还有count免费工次的最小代价

主要是递归边界的选择:

u+1<=count return 0;
if(u==-1&&count<0)return 0x3f3f3f3f;
if(u==-1&&count==0)retrun 0;


 

这三个可以合并成

if(u


 

const int N = 510;
int dp[N][2*N+10];
vectortimes;
vectorcosts;
int n;
int dfs(int u,int count){
    if(u& cost, vector& time) {
        memset(dp,-1,sizeof dp);
        costs = cost;
        times = time;
        n = cost.size();
        return dfs(n-1,0);        
    }
};

你可能感兴趣的:(DP,思维,leetcode,算法,动态规划)