D. Alyona and Strings 解析(思維、DP)
Codeforce 682 D. Alyona and Strings 解析(思維、DP)
今天我們來看看CF682D
題目連結
題目
略,請直接看原題。
前言
a
想法
首先會感覺應該是類似\(LCS\)的問題,但是有一點變形。因此我們會先想到應該是\(DP\),而可能會想到另外兩個狀態是:
- 共同部分是不是目前兩個字串前綴的結尾
- 最小的分段是幾段
也就是\(:dp[i][j][end][k]=\)最長長度,\(end=0:\)非結尾,\(end=1:\)是結尾
那麼我們就會發現轉移式\(:dp[i][j][0][c]=\)
\(\max\)\(\begin{cases}
dp[i-1][j][1][c],\ dp[i-1][j][0][c]\\
dp[i][j-1][1][c],\ dp[i][j-1][0][c]\\
dp[i-1][j-1][1][c],\ dp[i-1][j-1][0][c]\\
\end{cases}\)
且如果\(s[i]\neq t[j]:dp[i][j][1][c]=0\)
如果\(s[i]=t[j]:dp[i][j][1][c]=\)
\(\max\{dp[i-1][j-1][1][c]+1,\ dp[i-1][j-1][0][c-1]+1\}\)
程式碼:
const int _n=1010;
int n,m,k,dp[_n][_n][2][11];
char s[_n],t[_n];
main(void) {cin.tie(0);ios_base::sync_with_stdio(0);
cin>>n>>m>>k>>(s+1)>>(t+1);
rep(i,0,m+1)rep(c,1,k+1)dp[0][i][0][c]=dp[0][i][1][c]=-1e5;
rep(i,0,n+1)rep(c,1,k+1)dp[i][0][0][c]=dp[i][0][1][c]=-1e5;
rep(i,1,n+1)rep(j,1,m+1)rep(c,1,k+1){
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i-1][j][1][c]);
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i-1][j][0][c]);
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i][j-1][1][c]);
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i][j-1][0][c]);
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i-1][j-1][1][c]);
dp[i][j][0][c]=max(dp[i][j][0][c],dp[i-1][j-1][0][c]);
if(s[i]==t[j]){
dp[i][j][1][c]=max(dp[i][j][1][c],dp[i-1][j-1][1][c]+1);
dp[i][j][1][c]=max(dp[i][j][1][c],dp[i-1][j-1][0][c-1]+1);
}else dp[i][j][1][c]=0;
}ll maxx=0;rep(i,1,n+1)rep(j,1,m+1)rep(c,1,k+1){
maxx=max(maxx,max(dp[i][j][0][c],dp[i][j][1][c]));
}cout<<maxx<<'\n';
return 0;
}
標頭、模板請點Submission看
Submission
D. Alyona and Strings 解析(思維、DP)的更多相关文章
- B. Kay and Snowflake 解析(思維、DFS、DP、重心)
Codeforce 685 B. Kay and Snowflake 解析(思維.DFS.DP.重心) 今天我們來看看CF685B 題目連結 題目 給你一棵樹,要求你求出每棵子樹的重心. 前言 完全不 ...
- C. Vladik and Memorable Trip 解析(思維、DP)
Codeforce 811 C. Vladik and Memorable Trip 解析(思維.DP) 今天我們來看看CF811C 題目連結 題目 給你一個數列,一個區段的數列的值是區段內所有相異數 ...
- D. New Year Santa Network 解析(思維、DFS、組合、樹狀DP)
Codeforce 500 D. New Year Santa Network 解析(思維.DFS.組合.樹狀DP) 今天我們來看看CF500D 題目連結 題目 給你一棵有邊權的樹,求現在隨機取\(3 ...
- B. Once Again... 解析(思維、DP、LIS、矩陣冪)
Codeforce 582 B. Once Again... 解析(思維.DP.LIS.矩陣冪) 今天我們來看看CF582B 題目連結 題目 給你一個長度為\(n\)的數列\(a\),求\(a\)循環 ...
- B. Nauuo and Circle 解析(思維、DP)
Codeforce 1172 B. Nauuo and Circle 解析(思維.DP) 今天我們來看看CF1172B 題目連結 題目 略,請直接看原題 前言 第一個該觀察的事情一直想不到,看了解答也 ...
- D. Maximum Distributed Tree 解析(思維、DFS、組合、貪心、DP)
Codeforce 1401 D. Maximum Distributed Tree 解析(思維.DFS.組合.貪心.DP) 今天我們來看看CF1401D 題目連結 題目 直接看原題比較清楚,略. 前 ...
- A. Arena of Greed 解析(思維)
Codeforce 1425 A. Arena of Greed 解析(思維) 今天我們來看看CF1425A 題目連結 題目 略,請直接看原題. 前言 明明是難度1400的題目,但總感覺不是很好寫阿, ...
- E. Almost Regular Bracket Sequence 解析(思維)
Codeforce 1095 E. Almost Regular Bracket Sequence 解析(思維) 今天我們來看看CF1095E 題目連結 題目 給你一個括號序列,求有幾個字元改括號方向 ...
- C2. Power Transmission (Hard Edition) 解析(思維、幾何)
Codeforce 1163 C2. Power Transmission (Hard Edition) 解析(思維.幾何) 今天我們來看看CF1163C2 題目連結 題目 給一堆點,每兩個點會造成一 ...
随机推荐
- puTTY远程登录时,连接不上
可能接收远程登录的SSH服务没启动 解决办法,控制台输入,service sshd start
- Java 审计之XXE篇
Java 审计之XXE篇 0x00 前言 在以前XXE漏洞了解得并不多,只是有一个初步的认识和靶机里面遇到过.下面来 深入了解一下该漏洞的产生和利用. 0x01 XXE漏洞 当程序在解析XML输入时, ...
- --initialize specified but the data directory has files in it. Aborting
出错版本: mysql 5.7 why? yum 安装数据库时候,默认数据存放目录为 /var/lib/mysql,然而这个目录下有数据 way? 进入 /var/lb/mysql 目录下清空该目录下 ...
- Mysql中把varchar类型的字段转化为tinyint类型的字段
因为之前不知道tinyint类型的用法,所以将一些状态属性字段类型设置成了varchar类型,然后用"是"和"否"来判断状态 后来了解到了tinyint,就想试 ...
- 实验1:Mininet源码安装和可视化拓扑工具
一.实验目的 掌握 Mininet 的源码安装方法和 miniedit 可视化拓扑生成工具. 二.实验任务 使用源码安装 Mininet 的 2.3.0d6 版本,并使用可视化拓扑工具生成一个最简拓扑 ...
- 记一次ElementUI源码修改过程
修改目的 使用ElementUI el-tree过程发现选中节点,键盘移动上下键时(key down\key up)el-tree默认高亮移动的节点,业务上需要重写此事件. 从官网发现该事件没有暴露 ...
- 【题解】CF1375D Replace by MEX
\(\color{purple}{Link}\) \(\text{Solution:}\) 观察到题目要求操作次数不超过\(2n,\)且不必最小化操作次数,所以一定是构造题. 考虑将序列转化为\([0 ...
- springcloud学习入门
Springcloud入门学习笔记 1. 项目初始化配置 1. 1. 新建maven工程 使用idea创建maven项目 1. 2. 在parent项目pom中导入以下依赖 <parent> ...
- Java 将Html转为PDF(二)
前面介绍了如何通过插件的方式将Html文件转为PDF,该方法需要使用Spire.PDF for Java 3.6.6或者之后的新版本,可根据自己的系统选择不同插件来实现转换.本文提供另外一种转换方法, ...
- 使用Jest快照测试api
你知道什么很烦人吗?API不匹配. 有一天,后台开发人员在没有通知前端开发人员的情况下更改了其中一个api."我们认为dateCreated这个名字比created_at更好,"他 ...