首页 > 其他分享 >CodeStar2022年秋第10周周赛普及进阶组

CodeStar2022年秋第10周周赛普及进阶组

时间:2022-12-12 22:33:06浏览次数:101  
标签:10 进阶 周周赛 rep int now chmax dp 长为

T1:子序列相似度

本题难度中等,做法和编辑距离类似,用 dp[i][j] 表示 \(s\) 的长为 \(i\) 的前缀和 \(t\) 的长为 \(j\) 的前缀的最大相似度

初值:

\(dp[0][0] = 0\)

转移:

\( dp[i][j]= \begin{cases} dp[i-1][j]\\ dp[i][j-1]\\ dp[i-1][j-1] + 225-26|s_i-s_j| \end{cases} \)

代码实现
#include <bits/stdc++.h>
#define rep(i, n) for (int i = 0; i < (n); ++i)

using namespace std;

int dp[3005][3005];

inline void chmax(int& x, int y) { if (x < y) x = y; }

int main() {
    int n, m;
    cin >> n >> m;
    string s, t;
    cin >> s >> t;
    
    rep(i, n)rep(j, m) {
        int now = 0;
        chmax(now, dp[i][j+1]);
        chmax(now, dp[i+1][j]);
        chmax(now, dp[i][j]+225-26*abs(s[i]-t[j]));
        dp[i+1][j+1] = now;
    }
    
    cout << dp[n][m] << '\n';
    
    return 0;
}

标签:10,进阶,周周赛,rep,int,now,chmax,dp,长为
From: https://www.cnblogs.com/Melville/p/16977304.html

相关文章

  • day35_0106.从中序与后序遍历序列构造二叉树0105. 前序+中序构造二叉树
    0106.从中序与后序遍历序列构造二叉树前序+中序构造二叉树[106中序+后序构造二叉树]做过简答题但没编过代码以下均是复制粘贴递归代码的思路----三部曲......
  • Android10系统定制|frida逆向分析实战课程
    ......
  • 1行Python代码,合并100个Excel文件,原来这么方便?
    大家好,这里是程序员晚枫。今天开源项目​​python-office​​发布了一个新功能:1行代码,合并你指定的多个Excel文件。本文给大家详细介绍一下~需求说明有一位老师,现在有全校1......
  • 10个经典又容易被人疏忽的JVM面试题
    1.对象一定分配在堆中吗?有没有了解逃逸分析技术?「对象一定分配在堆中吗?」不一定的,JVM通过「逃逸分析」,那些逃不出方法的对象会在栈上分配。「什么是逃逸分析?」逃逸分析(E......
  • 秒懂:JCTool 的 Mpsc 超高性能无锁队列 (史上最全+10W字长文)
    文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录博客园版为您奉上珍贵的学习资源:免费赠送:《尼恩Java面试宝典》持续更新+史上最全+面试必备2000页+面......
  • 微软新商业模式:想用Windows 10?掏钱!
    Windows10是微软的标志性产品,随着时代的变化,Windows授权营收不断下降。无奈之下,微软只好寻找新办法从客户手中“榨取”更多的金钱。ZDNET最近刊文对微软的策略变化进行......
  • 洛谷 P1020 导弹拦截(递增子串 DP )
    题目大意:有一个数列,我们要获取一组子串,这个子串必须单调不增。问:(1)最长我们可以获取多长的这种子串(2)这个数列中最多有多少种这种子串解题思路:其中问题一是很典型的DP问题,最......
  • 洛谷 P1087 FBI树
    题目大意:已知一棵树由字符串组成,规定:若节点全1把这节点称为I节点。若节点全0把节点称为B节点。若节点含0同时含1把节点称为F节点。现在有一个字符串N长,左子树是前一半字......
  • 洛谷 P1088 火星人(乱搞)
    题目大意:已知有一串数字,问在原来的数字串的字典序加m后,应该输出多少解题思路:最简便的做法是用next_permutation,这个生成的全排列可以按照字典序递增,这里我用的是搜索的方法......
  • 洛谷 P1057 传球游戏(背包DP)
    题目大意:有n个人围成一圈,每个人可以把手上的球传给左边或者右边,现在小明开始传球,问m次后,把球传回给自己的次数。解题思路:考虑DP,使用带记忆的DP, 首先我们的状态可以设为[还......