博客
关于我
反恐训练营
阅读量:200 次
发布时间:2019-02-28

本文共 1602 字,大约阅读时间需要 5 分钟。

根据上述分析,我们可以使用动态规划的方法来解决这个问题。具体步骤如下:

  • 初始化一个二维数组 f,大小为 (n+1) x (m+1),其中 n 是子弹和恐怖分子的类型数,m 是序列的长度。
  • 填充边界条件:当 i=0j=0 时,f[i][j] = 0
  • 遍历每个 ij,计算 f[i][j]
    • 如果 a[i] == b[j],则 f[i][j] = max(f[i-1][j], f[i][j-1], f[i-1][j-1] + score[a[i]])
    • 否则,f[i][j] = max(f[i-1][j], f[i][j-1])
  • 最终,f[m][n] 就是炜炜能获得的最大分数。
  • 通过这种方法,我们可以高效地计算出最优解。

    以下是实现代码:

    #include 
    #include
    #include
    #include
    using namespace std;int main() { int n; while (cin >> n) { string a_sub, b_sub; for (int i = 1; i <= n; ++i) { a_sub += tolower(cin >> (char&c)); b_sub += tolower(cin >> (char&c)); } map
    score; for (int i = 1; i <= n; ++i) { int x; cin >> x; score[tolower(a_sub[i-1])] = x; } int len_a = a_sub.size(); int len_b = b_sub.size(); vector
    > dp(len_a + 1, vector
    (len_b + 1, 0)); for (int i = 1; i <= len_a; ++i) { for (int j = 1; j <= len_b; ++j) { if (a_sub[i-1] == b_sub[j-1]) { if (i == 1 || j == 1) { dp[i][j] = score[a_sub[i-1]]; } else { dp[i][j] = dp[i-1][j-1] + score[a_sub[i-1]]; } } else { dp[i][j] = max(dp[i-1][j], dp[i][j-1]); } } } cout << dp[len_a][len_b] << endl; } return 0;}

    代码解释:

  • 输入处理: 读取子弹和恐怖分子的类型数 n,然后读取各自的序列 a_subb_sub。接着读取每个字母对应的得分 score
  • 动态规划初始化: 创建一个二维数组 dp,大小为 (len_a + 1) x (len_b + 1),初始化为0。
  • 填充边界条件:i=1j=1 时,如果 a_sub[i-1] == b_sub[j-1],则 dp[i][j] = score[a_sub[i-1]],否则 dp[i][j] = 0
  • 状态转移: 遍历每个 ij,根据子弹和恐怖分子的当前字符是否匹配,更新 dp[i][j] 的值。
  • 输出结果: 打印最终的最大分数 dp[len_a][len_b]
  • 通过这种方法,我们可以高效地解决问题,并找到炜炜能获得的最大分数。

    转载地址:http://hptn.baihongyu.com/

    你可能感兴趣的文章
    nginx 301 永久重定向
    查看>>
    nginx css,js合并插件,淘宝nginx合并js,css插件
    查看>>
    Nginx gateway集群和动态网关
    查看>>
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>