• pku1036Gangsters 强盗进旅馆(动态规划)


    -

    第一种解法:

    dp[i][j]表示在i时间j状态下的最优解,递推公式如下:

    dp[0][0]=0

    dp[0][s]=-inf  1=<s<=k

    dp[t][s]=max(dp[t-1][s-1],dp[t-1][s],dp[t-1][s+1])+{g.p}(g.t=t&&g.s=s)   1=<t<=T         0=<s<=k

    结果:内存超出。。。。。。。。。

    代码如下:

    Code

    解法二:

    首先对强盗排序(按时间),对每

    个强盗编号,算最优值

    公式如下:

    dp[i]=-1表示第i个编号的强盗不能进旅馆

    否则表示而且到这个强盗到来的时间时已经求得的最优值

    dp[i]=max(dp[j]+g[i].p) (0<=j<i<=n且g[i].t-g[j].t>=|g[i].s-g[j].s|)

    代码如下:

     

    Code
  • 相关阅读:
    Exception while invoking TaskListener: Exception while invoking TaskListener: null
    oracle mysql gbk varchar varchar2
    WIN10 Samba(SMB) v1 trouble shooting
    信号之信号集
    信号之不可靠的信号及中断的系统调用
    信号之alarm和pause函数
    信号之kill和raise函数
    信号之可靠信号术语和语义
    信号之可重入函数
    信号之signal函数
  • 原文地址:https://www.cnblogs.com/pandy/p/1341757.html
Copyright © 2020-2023  润新知