zoukankan      html  css  js  c++  java
  • 模拟18 题解

    T1

    模拟就好了,先扫出来数字的位置,注意数字可能是多位数,然后找到上下边界,再枚举每个矩形的左右两边,找到水管,找下去,并记录那两个水箱连了边,dfs

    T2

     搜索的思路,从最靠近出发点的两个精灵点开始,每种状态下只可能向左右两边最靠近的两个位置转移,注意只有符合时间要求并能做出贡献的点才转移,

    dp:定义f[i][j][k]为已经考虑了i到j,此时在i点,用了k时间的最有得分,g[i][j][k]为在j点,

    转移:

    1 f[i-1][j][k+p[i].a-p[i-1].a]=max(f[i-1][j][k+p[i].a-p[i-1].a],f[i][j][k]+((k+p[i].a-p[i-1].a<=p[i-1].t)?p[i-1].b:0));
    2 f[i-1][j][k+p[j].a-p[i-1].a]=max(f[i-1][j][k+p[j].a-p[i-1].a],g[i][j][k]+((k+p[j].a-p[i-1].a<=p[i-1].t)?p[i-1].b:0));
    3 g[i][j+1][k+p[j+1].a-p[j].a]=max(g[i][j+1][k+p[j+1].a-p[j].a],g[i][j][k]+((k+p[j+1].a-p[j].a<=p[j+1].t)?p[j+1].b:0));
    4 g[i][j+1][k+p[j+1].a-p[i].a]=max(g[i][j+1][k+p[j+1].a-p[i].a],f[i][j][k]+((k+p[j+1].a-p[i].a<=p[j+1].t)?p[j+1].b:0));
    5 ans=max(ans,max(f[i][j][k],g[i][j][k]));
    愿你在迷茫时,记起自己的珍贵。
  • 相关阅读:
    html 注释和特殊字符
    html 锚点链接
    html 链接标签
    spring 利用工厂模式解耦
    html 路径
    html 图像标签
    html div和span标签
    html 文本格式化标签
    P5358 [SDOI2019]快速查询
    luoguP2679 子串
  • 原文地址:https://www.cnblogs.com/casun547/p/11343587.html
Copyright © 2011-2022 走看看