solution : 就按题解敲了一遍,好久没写这种dp

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <string>
 4 #include <vector>
 5 #include <algorithm>
 6 #include <iostream>
 7 using namespace std;
 8 typedef long long LL;
 9 const int MAX = 1e3+;
 const int MOD = 1e9+;
 int dp[MAX][MAX];
 LL f[MAX][MAX];
 int Next[];
 char a[MAX],b[MAX];
 int main() {
     int cas;
     scanf("%d",&cas);
     while(cas--) {
         scanf("%s %s",a+,b+);
         memset(dp,,sizeof(dp));
         int n=strlen(a+);
         int m=strlen(b+);
         for(int i=;i<=n;i++) {
             for(int j=;j<=m;j++) {
                 if(a[i]==b[j]) {
                     dp[i][j]=max(dp[i][j],dp[i-][j-]+);
                 }
                 else {
                     dp[i][j]=max(dp[i][j-],dp[i-][j]);
                 }
             }
         }
         memset(f,,sizeof(f));
         for(int i=;i<=n;i++) {
             memset(Next,,sizeof(Next));
             for(int j=;j<=m;j++) {
                 if(dp[i][j]==) {
                     f[i][j]=;
                 }
                 else {
                     Next[b[j]-'a']=j;
                     if(dp[i-][j]==dp[i][j]) {
                         f[i][j]=(f[i][j]+f[i-][j])%MOD;
                     }
                     if(Next[a[i]-'a']) {
                         int p=Next[a[i]-'a'];
                         if(p&&dp[i-][p-]+==dp[i][j]) {
                             f[i][j]=(f[i][j]+f[i-][p-])%MOD;
                         }
                     }
                 }
             }
         }
         cout<<f[n][m]<<endl;
     }

56 }

BestCoder Round #47 1003的更多相关文章

  1. 从lca到树链剖分 bestcoder round#45 1003

    bestcoder round#45 1003 题,给定两个点,要我们求这两个点的树上路径所经过的点的权值是否出现过奇数次.如果是一般人,那么就是用lca求树上路径,然后判断是否出现过奇数次(用异或) ...

  2. HDU 5682/BestCoder Round #83 1003 zxa and leaf 二分+树

    zxa and leaf Problem Description zxa have an unrooted tree with n nodes, including (n−1) undirected ...

  3. BestCoder Round #29 1003 (hdu 5172) GTY's gay friends [线段树 判不同 预处理 好题]

    传送门 GTY's gay friends Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...

  4. Bestcoder Round 47 && 48

    1.Senior's Array(hdu 5280) 题目大意:给出大小为N的数组和P,求将数组中的某个元素替换为P后的最大连续子段和.N<=1000 题解: 1.送分题,比赛的时候只想到枚举替 ...

  5. BestCoder Round #87 1003 LCIS[序列DP]

    LCIS  Accepts: 109  Submissions: 775  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 65536/65 ...

  6. BestCoder Round #75 1003 - King's Order

    国王演讲后士气大增,但此时战争还没有结束,国王时不时要下发命令. 由于国王的口吃并没有治愈,所以传令中可能出现:“让第三军-军-军,到前线去” 这样的命令.由于大洋国在军队中安插了间谍 , 战事紧急, ...

  7. BestCoder Round #47

    1001 Senior's Array 题目链接:1001 题意:给你一个长度为n的序列,你必须修改序列中的某个数为P,求修改后的最大连续子序列和. 思路:数据量比较小,可以直接暴力做, 枚举序列的每 ...

  8. BestCoder Round#11div2 1003

    ----- 有时候如果枚举起点超时,那么试试枚举终点. 枚举每一个i为终点(0<= i < n),且维护起点下标startPos 对于终点i,cnt[str[i]] ++,   如果小于等 ...

  9. BestCoder Round#8 1003

    dp[i][j] 表示以i结尾的长度为j的递增子序列dp[i][j] = sum(dp[k][j])     k<i && a[i] >a[j]如果只是单纯的循环for(j ...

随机推荐

  1. Codeforces Round #243 (Div. 1)

    ---恢复内容开始--- A 枚举l,r #include <iostream> #include<cstdio> #include<cstring> #inclu ...

  2. P1320 压缩技术(续集版)

    题目描述 设某汉字由N X N的0和1的点阵图案组成,如下图.我们依照以下规则生成压缩码.连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从上到下,由左到右.第一个数表示连续有几个0 ...

  3. WPF日常需要使用的操作

    窗体如何居中弹出 在窗体上添加属性  WindowStartupLocation="CenterScreen" 窗体如何隐藏掉windows边框 添加属性WindowStyle=& ...

  4. Java GUI 布局管理器

    容器可设置布局管理器,管理容器中组件的布局: container.setLayout(new XxxLayout()); Java有6种布局管理器,AWT提供了5种: FlowLayout Borde ...

  5. FPGA开发中的脚本语言

    多数FPGA开发者都习惯图形化界面(GUI).GUI方式简单易学,为小项目提供了一键式流程.然而,随着FPGA项目越来越复杂,在很多情况下GUI工具就阻碍了工作效率.因为GUI工具不能对整个开发过程提 ...

  6. Axure-计算输入字数

    说明:Axure版本为7.0 1.添加多行文本框,设置名称为Input,添加文本框,设置名称为msg,样式如下: 2.为input添加“文本改变时”事件,设置全局变量,如下所示: 3.再添加“设置文本 ...

  7. PMP项目管理学习笔记(5)——整合管理之制定项目章程

    关于两个输入 在很多过程中,会用到这两个输入: 企业环境要素 是关于你的公司如何开展业务所需要知道的所有信息. 在你计划项目时,有很多关于公司的信息会非常有用,你需要知道各个不同部门是如何运作的,你所 ...

  8. Hibernate Lazy属性与懒加载 整理

    lazy概念:要用到的时候,再去加载,对于关联的集合来说,只有当访问到的时候,才去加载它所关联的集合,比如一个user对应很多权限,只有当user.getRights()的时候,才发出select r ...

  9. 《3+1团队》【Alpha】Scrum meeting 1

    项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 作业链接地址 团队名称 3+1团队 团队博客地址 https://home.cnblogs.com/u/3-1group ...

  10. B6. Concurrent 内存模型与线程交互

    [概述]