题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2423

题意:求两个串的LCS以及LCS的个数。

思路:

int f[2][N],g[2][N];
char s[N],t[N];
int n,m;void add(int &x,int y)
{x+=y;x%=mod;
}int main()
{RD(s); n=strlen(s)-1; RD(t); m=strlen(t)-1; int i,j;int pre=0,cur=1;for(i=0;i<=m;i++) g[0][i]=1;g[pre][0]=1;FOR1(i,n) {clr(f[cur],0);clr(g[cur],0);g[cur][0]=1;FOR1(j,m){if(s[i-1]==t[j-1]){f[cur][j]=f[pre][j-1]+1;g[cur][j]=g[pre][j-1];if(f[cur][j-1]==f[cur][j]) add(g[cur][j],g[cur][j-1]);if(f[pre][j]==f[cur][j]) add(g[cur][j],g[pre][j]);}else{f[cur][j]=max(f[cur][j-1],f[pre][j]);if(f[cur][j-1]==f[cur][j]) add(g[cur][j],g[cur][j-1]);if(f[pre][j]==f[cur][j]) add(g[cur][j],g[pre][j]);if(f[pre][j-1]==f[cur][j]) add(g[cur][j],-g[pre][j-1]);}}swap(pre,cur);}if(g[pre][m]<0) g[pre][m]+=mod;PR(f[pre][m]);PR(g[pre][m]);
}

BZOJ 2434 最长公共子序列相关推荐

  1. BZOJ 2423 最长公共子序列

    Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1" ...

  2. BZOJ 3304: [Shoi2005]带限制的最长公共子序列( LCS )

    求个LCS, 只是有了限制, 多加一维表示匹配到z串的第几个, 然后用滚动数组 ------------------------------------------------------------ ...

  3. BZOJ 2423: [HAOI2010]最长公共子序列

    2423: [HAOI2010]最长公共子序列 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 1696  Solved: 674 [Submit][ ...

  4. bzoj 2423 [HAOI2010]最长公共子序列 动态规划

    Description 字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1" ...

  5. 【BZOJ2423】最长公共子序列(动态规划)

    [BZOJ2423]最长公共子序列(动态规划) 题面 BZOJ 洛谷 题解 今天考试的时候,神仙出题人\(fdf\)把这道题目作为一个二合一出了出来,我除了orz还是只会orz. 对于如何\(O(n^ ...

  6. LGOJ P2516 BZOJ2423 [HAOI2010]最长公共子序列 解题报告

    文章目录 题目链接 解题思路 对于第一问,这是LCS问题的经典模型 对于第二问,同样用DP来做 详细代码 题目链接 LGOJ BZOJ 解题思路 对于第一问,这是LCS问题的经典模型 我们设f[i][ ...

  7. 最长公共子序列(LCS)问题 Longest Common Subsequence 与最长公告字串 longest common substr...

    问题描述:字符序列的子序列是指从给定字符序列中随意地(不一定连续)去掉若干个字符(可能一个也不去掉)后所形成的字符序列.令给定的字符序列X="x0,x1,-,xm-1",序列Y=& ...

  8. 【动态规划】最长公共子序列与最长公共子串

    1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...

  9. POJ 3080 多个串最长公共子序列

    求多个串最长公共子序列,字典序最小输出.枚举剪枝+kmp.比较简单,我用find直接查找16ms #include<iostream> #include<string> #in ...

最新文章

  1. OTDR光纤测试仪:您的光纤终极故障排除工具
  2. centos linux7修改主机名,CentOS7操作系统下永久修改主机名
  3. 玩数据必备Python库:Numpy使用详解
  4. LeetCode刷题——75. 颜色分类
  5. 一键解决“请卸载所有32位office程序,然后重试安装64位office”
  6. rollup函数(分组后对每组数据分别合计)
  7. 计算机excel表格教程高级筛选6,Excel高级筛选
  8. 股票开户天载钢铁等板块跌幅居前
  9. Android布局小案例——安卓版计算器
  10. 用 HBuilder X 编辑 Markdown 文档,如何自定义表格列宽
  11. unity 模型销毁_Unity中销毁游戏对象的方式
  12. 云端系统服务器是什么,云端服务器是什么-云端服务器介绍
  13. Unity 2D光照(2D Light)和阴影(Shadow Caster 2D)
  14. 论文阅读:《Neural Machine Translation by Jointly Learning to Align and Translate》
  15. 感知机算法(一)---原理
  16. 超低功耗LCD液晶显示驱动芯片(IC)-VKL128-稳定性好,超低工作电流,低休眠电流-技术开发资料
  17. Paddle-NEAT——飞桨进化神经网络组件
  18. 0的0次幂(0^0)应该等于0还是1?
  19. 线性代数[初等变换(三)]
  20. 嵌入式软件工程师 面试题 (持续更新中)

热门文章

  1. php 弹窗代码大全,PHP_asp.net弹出窗口代码大全,//关闭,父窗口弹出对话框,子窗 - phpStudy...
  2. 20220129--CTF刷题--disabled_button
  3. python转换函数使用_python进制转换函数代码的使用
  4. 阶梯到XML:1级 - XML简介
  5. UVA 11100 The Trip, 2007
  6. HDU_5249(百度之星D题)
  7. Flume-NG源码阅读之AvroSink
  8. 在word 2010中采用EndNote X7插入引用
  9. 2008技术内幕:T-SQL语言基础 联接查询摘记
  10. Python Django 学习笔记