zoukankan      html  css  js  c++  java
  • 【讲稿】动态规划基础4

    A.凑硬币问题

    略.

    B.青蛙过河

    略.

    C.守望者的逃离

    (f_i) 表示第 (i) 个时刻最远到达哪里
    跑步和瞬移不方便一起转移,考虑分开:

    • 瞬移:显然,如果只有瞬移操作,那么尽量使用瞬移,直到 (m) 不够的时候补 (m),有:
    if(m>=10) f[i]=f[i-1]+60,m-=10;
    else f[i]=f[i-1],m+=4;
    
    • 跑步:可以考虑对于第 (i) 秒,可以从 (i-1) 秒加上 (1s) 的跑步时间转移而来,有:
      (f_i=max { f_i,f_{i-1}+17 })

    D.最大子段和

    模板题,略

    E.聚猪淘气

    思想很简单:
    设当前分组到 (i) 的最大组数为 (f_i),每次若 (sum(1,i) geq 0),则初始化 (f_i=1),考虑枚举当前这一组的起始点 (j+1),有:
    (f_i=maxlimits_{j=1}^i { f_j+1 }(sum(j+1,i) geq 0))
    式子里的那个 (sum) 可以用前缀和优化一下,总复杂度 (O(n^2))
    照着这个柿子直接上可以拿到 (30pts)成绩
    所以这个柿子有什么问题?
    注意到 (i) 的合法性是建立在 (j) 合法之上的,那么每次转移之前,我们需要判断 (j) 是否合法,即 (f_j > 0)

    F.堆放核材料

    设当前放到第 (i) 个坑的合法总方案数是 (f_i),有:

    • (f_i=2 imes f_{i-1} (i < m))
    • (f_i=2 imes f_{i-1} -1 (i = m))
    • (f_i=2 imes f_{i-1} - f_{i-m-1} (i > m))

    G.佩奇的任务

    由于出现了时间,容易想到这是一个有关时间的线性 dp
    (f_i) 表示 (1)~(i) 的最大空闲时间,
    但是,第 (i) 时刻的最大空闲时间是和后面(第 (i) 时刻加上 (i) 时刻选择的任务的持续时间)的时刻有关系的,因此 (f_i) 与前面无关,与后面有关,于是设 (f_i) 表示 (i)~(n) 的最大空闲时间,此时从后往前转移,状态转移方程如下:

    • 当此时刻没有任务时,空闲时间为上一时刻的空闲时间(+1)(f_i=f_{i+1}+1)
    • 当此时刻有任务,则枚举此时刻每个任务 (num) 的持续时间 (a_num),找出哪个任务使得空闲时间最大化:(f_i=max{f_i,f_{i+a_{num}} })

    1 判定此时刻是否有任务,可以通过开桶
    2 由于从后往前搜索,因此 (num) 的时间顺序也应当从后往前,从大到小排序(同时也将相同开始时间的任务放到一起),当此时刻任务进行判定时,对应的任务数 (s_i)(num) 需要进行相应变化。

    H.登山队伍

    模板题,略

    I.导弹拦截

    题面被 zez 魔改了一发

    附上原题题面:

          某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:
    虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达
    捕捉到敌国的导弹来袭。
          请你计算出,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。
    

    如果下一个高度 (a_j > a_i) 则该导弹必定不能被当前导弹系统命中,导弹系统的个数需要增加一个
    所以该问题变成了典型的求最长上升子序列LCS问题,直接 dp 即可

    J.猪猪速度

    考虑将 (w) 看做下标,直接dp即可

  • 相关阅读:
    OSPF如何生成默认路由(转)
    H3C MSR830 V5.01 PPPOE拨号配置
    H3C V5 Ipsec 野蛮模式
    OSPF NSSA区域内有多个ABR时,7类LSA转换5类LSA的站点选择(转)
    什么是MTU?为什么MTU值普遍都是1500?(转)
    OSPF链路状态数据的结构
    Cisco Cpos STM 配置示例(转)
    Juniper SRX Junos升级(自己做的升级)
    Juniper SRX Junos升级(转)
    接口自动化测试 python+request+excel(踩‘坑’)
  • 原文地址:https://www.cnblogs.com/lgj-lgj/p/13429501.html
Copyright © 2011-2022 走看看