首页 > 其他分享 >Cyborg Genes UVA - 10723

Cyborg Genes UVA - 10723

时间:2023-04-05 22:55:39浏览次数:42  
标签:cnt int Cyborg Genes 102 UVA strlen

求一个最短序列,使得输入的两个串的均为他的子序列,同时输出方案数。

 

 n+m-LCS

方案数转移时求

  #include <iostream>
  #include <cstring>
  using namespace std;
   #define int long long
 int n,m;
  char a[102],b[102];
  int f[102][102],cnt[102][102];

 signed main(){
    int i,j,T,cas=0; 
    cin>>T;
	getchar();
	
    while(T--){
     gets(a+1);gets(b+1);
     n=strlen(a+1),m=strlen(b+1);
	
	f[0][0]=0; cnt[0][0]=1;
    for(i=1;i<=n;i++) 
    	f[i][0]=0,cnt[i][0]=1;
    for(j=1;j<=n;j++) 
    	f[0][j]=0,cnt[0][j]=1;

    for(i=1;i<=n;i++)
     for(j=1;j<=m;j++){
         if(a[i]==b[j]) 
         	f[i][j]=f[i-1][j-1]+1,
         	cnt[i][j]=cnt[i-1][j-1]; 
         else{
			 if(f[i][j-1]>f[i-1][j])
			 	f[i][j]=f[i][j-1],
			 	cnt[i][j]=cnt[i][j-1];
	         else if(f[i][j-1]<f[i-1][j]) 
	         	f[i][j]=f[i-1][j],
	         	cnt[i][j]=cnt[i-1][j];
	         else
	            f[i][j]=f[i-1][j],
	            cnt[i][j]=cnt[i][j-1]+cnt[i-1][j];
        } 
     }
    cout<<"Case #"<<++cas<<": "<<n+m-f[n][m]<<" "
    <<cnt[n][m]<<endl;
    }
 }

 

标签:cnt,int,Cyborg,Genes,102,UVA,strlen
From: https://www.cnblogs.com/towboa/p/17291225.html

相关文章

  • 旅行 Tour uva1347
    直角坐标系中,有nn个点。要求先从左往右走,再从右往左走,不重复的经过每一个点。求出最短路径(距离为两点间直线距离)。 f[i][j]表示点1~max(i,j)已走过,的路径长度 #include<iostream>#include<algorithm>#include<cstring>#include<cmath>#include<iomanip>......
  • 例题3-2 WERTYU(WERTYU, UVa10082)
    题目把手放在键盘上时,稍不注意就会往右错一位。这样,输入Q会变成输入W,输入J会变成输入K等。键盘如图3-2所示。输入一个错位后敲出的字符串(所有字母均大写),输出打字员本来想打出的句子。输入保证合法,即一定是错位之后的字符串。例如输入中不会出现大写字母A。样例输入OS,GO......
  • 例题3-1 TeX中的引号(Tex Quotes, UVa 272)
    题目在TeX中,左双引号是“``”,右双引号是“''”。输入一篇包含双引号的文章,你的任务是把它转换成TeX的格式。样例输入"Tobeornottobe,"quoththeBard,"thatisthequestion".样例输出``Tobeornottobe,''quoththeBard,``thatisthequestion''.思路依......
  • UVA12107 题解
    前言题目传送门!更好的阅读体验?很久以前的一道搜索大模拟题目,另一篇题解的写法有点鬼畜,所以就来补篇题解。题面给你一个数字谜。修改最少次数(每次修改一个数位为空格或......
  • UVA11613 Acme Corporation
    UVA11613AcmeCorporation题意翻译已经很清楚了。思路看到这种求限制下的最值的问题,而且数据范围还比较小,我们不难想到费用流。但是这道题要求的是最大利润,那么我们可......
  • 链表指针指迷了我(UVA 11988 STL deque)
    BrokenKeyboard(a.k.a.BeijuText)You'retypingalongtextwithabrokenkeyboard.Wellit'snotsobadlybroken.Theonlyproblemwiththekeyboardisthats......
  • UVA - 227
    PuzzleUVA-227题目大意开始有一个5*5的网格,其中有一个格子是空的也就是空格键,其余都是字母,A->空格向上走;B->向下走;L->向左走;R->向右走,先输出"Puzzle#X:",越界就输出......
  • UVA-212 医院设备利用 题解答案代码 算法竞赛入门经典第二版
    ​​GitHub-jzplp/aoapc-UVA-Answer:算法竞赛入门经典例题和习题答案刘汝佳第二版​​这也是一道根据根据时间做出行为的题目,我的做法和之前的UVA822类似,也是用优先队......
  • UVA-442 矩阵链乘 题解答案代码 算法竞赛入门经典第二版GitHub - jzplp/aoapc-UVA-Ans
    GitHub-jzplp/aoapc-UVA-Answer:算法竞赛入门经典例题和习题答案刘汝佳第二版AC代码#include<iostream>#include<string>#include<stack>usingnamespacestd;struct......
  • UVA-210 并行程序模拟 题解答案代码 算法竞赛入门经典第二版
    ​​GitHub-jzplp/aoapc-UVA-Answer:算法竞赛入门经典例题和习题答案刘汝佳第二版​​注意:每次unlock后,只需要拿出一个在阻塞队列里面的程序放到等待队列的头部。因为......