subsequence 1

只要处理长度等于t的.

转移方程没想出来QAQ

$dp(i,j,0)$代表到$s[i]$为止有多少个前缀序列与$t[0\cdots j]$相同

所以有$dp(i,j,0)=dp(i-1,j,0)+s[i]==t[j]?dp(i-1,j-1,0):0;$

$dp(i,j,1)$代表到$s[i]$为止有多少个子序列大于$t[0\cdots j]$

故有$dp(i,j,1)=dp(i-1,j,1)+(s[i]>t[j])*dp(i,j-1,0)+(j>0)*dp(i-1,j-1,0)$

#include<bits/stdc++.h>
using namespace std;
char s[],t[];
typedef long long ll;
ll dp[][][];
ll C[][];
ll mod=;
void init()
{
for(int i=;i<;i++){
C[i][i]=;
C[i][]=;
}
for(int i=;i<;i++){
for(int j=i+;j<;j++){
C[j][i]=(C[j-][i-]+C[j-][i])%mod;
}
}
}
int main()
{
int T;
int n,m;
ll ans;
init();
scanf("%d",&T);
while(T--){
ans=;
scanf("%d%d",&m,&n);
scanf("%s",s);
scanf("%s",t);
for(int i=;i<=max(m,n);i++)
dp[i][][]=dp[i][][]=;
// for(int i=0;i<=n;i++)dp[0][i]=1;
for(int i=;i<m;i++){
for(int j=;j<n;j++){ dp[i+][j+][]=((dp[i][j][])*(s[i]==t[j])+dp[i][j+][])%mod;
dp[i+][j+][]=(dp[i][j+][]+(s[i]>t[j])*dp[i][j][]+(j>)*dp[i][j][])%mod;
// cout<<dp[i+1][j+1][1]<<' ';
}
// cout<<'\n';
// cout<<i<<" "<<ans<<'\n';
}
ans=dp[m][n][];
//cout<<ans<<'\n';
for(int k=n+;k<=m;k++)
for(int i=;i+k-<=m;i++){
if(s[i-]!='')
ans=(ans+C[m-i][k-])%mod;
}
cout<<ans<<'\n'; }
}

最新文章

  1. chrome新版安装flash控件失败解决方法
  2. jQuery正则的使用方法步骤详解
  3. Caffe+CUDA7.5+CuDNNv3+OpenCV3.0+Ubuntu14.04 配置参考文献 以及 常见编译问题总结
  4. css选择器([class*=&quot; icon-&quot;], [class^=icon-] 的区别)
  5. android 拍照或者图库选择 压缩后 图片 上传
  6. 通过Bresenham算法实现完成矢量线性多边形向栅格数据的转化
  7. HTML特殊符号对照表(转)
  8. 设置图层符号风格为用已有mxd里的同名图层风格
  9. 剑指Offer:第一个只出现一次的字符
  10. FRM-40401 No changes to save error
  11. Mac系统Safari浏览器启动无图模式
  12. [转] 智能指针(三):unique_ptr使用简介
  13. 实现基于tomcat集群会话保持
  14. [DP]P2890 [USACO07OPEN]便宜的回文Cheapest Palindrome
  15. js var 以及 let 的差异
  16. Json.net日期格式化设置
  17. [P2704][NOI2001]炮兵阵地 (状态压缩)
  18. Linux 小知识翻译 - 「桌面环境」
  19. [MyBatis] MyBatis理论入门
  20. bzoj千题计划260:bzoj2940: [Poi2000]条纹

热门文章

  1. Microsoft SQL Server 2008 R2官方中文版(SQL2008下载)
  2. 【HANA系列】SAP HANA计算视图(calculation views)使用RANK报错
  3. Mac016--安装kubernetes(k8s)
  4. 2019年华南理工大学软件学院ACM集训队选拔赛 Round1
  5. cJSON使用笔记
  6. 【洛谷p3958】奶酪
  7. PTA第二题
  8. SCUT - 106 - 花式ac - 主席树/启发式合并Treap
  9. Thymeleaf简介
  10. 01.Windows2008R2系统禁启SMBv1服务命令