题目链接: https://vjudge.net/contest/126708#problem/C

题意:这是一道求字符串的公共子串的最大长度的题目,用dp动态方程即可

if(a[i]==b[j]) dp[i][j]=dp[i-1][j-1]+1;
else dp[i][j]=(dp[i][j-1]>p[j][i-1]?dp[i][j-1]:p[j][i-1]);

这题主要是要注意两个字符串是同一行输入,题目没说字符串的长度,用c不是dp数组开大了编译不了就是开小了运行错误,错了几次就采用java的字符串来写,因为Java的数组可以根据字符串的长度来开,就不需要担心数组越界或者数组开小了;

AC代码:

 1 import java.io.BufferedInputStream;
 2 import java.util.Scanner;
 3
 4 public class Main {
 5     static int dp[][];
 6
 7     public static void main(String[] args) {
 8
 9         Scanner s = new Scanner(new BufferedInputStream(System.in));
10         while (s.hasNext()) {
11             String a = s.next(), b = s.next();
12             int len1 = a.length(), len2 = b.length();
13
14             dp = new int[len1 + 1][len2 + 1];      //按字符串的长度开DP数组
15             for (int i = 0; i <= len1; i++)
16                 for (int j = 0; j <= len2; j++)
17                     dp[i][j] = 0;
18
19             for (int i = 1; i <= len1; i++)
20                 for (int j = 1; j <= len2; j++)
21                     if (a.charAt(i - 1) == b.charAt(j - 1)) {
22                         dp[i][j] = dp[i - 1][j - 1] + 1;
23                     } else {
24                         dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
25                     }
26             System.out.println(dp[len1][len2]);
27         }
28         s.close();
29     }
30
31 }

转载于:https://www.cnblogs.com/LIUWEI123/p/5756988.html

2016huasacm暑假集训训练五 C-Common Subsequence相关推荐

  1. ACM暑假集训训练总结报告

    为期一个月的ACM暑假集训过去了,想一想,真是光阴似箭,但与以往的不同,没有哀伤,而是满满的充实,这一个月说,不得不累,虽然心里压力没有高三的强,但是时间上基本差不多,每天真的即是三点一线,日复一日. ...

  2. 2016HUAS暑假集训训练题 F - 简单计算器

    Description 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值.  Input 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符 ...

  3. 2014CSU-ACM暑假集训训练赛--七夕专场

    A题目来源:http://codeforces.com/problemset/problem/20/C A题是跟一般的单源最短路径一样,SPFA算法即可,就是多了一个路径的的输出,记录父亲节点就行,不 ...

  4. 2016暑假集训总结

    Preface 这是蒟蒻lyd729在初二升初三的暑假里训练的总结. 来看看一年前的lyd729写的暑假集训总结(链接),真是觉得自己长大了好多. 这一年发生了太多故事.(我来讲故事啦) 去年,一升初 ...

  5. HDU 1159 Common Subsequence 动态规划

    2017-08-06 15:41:04 writer:pprp 刚开始学dp,集训的讲的很难,但是还是得自己看,从简单到难,慢慢来(如果哪里有错误欢迎各位大佬指正) 题意如下: 给两个字符串,找到其中 ...

  6. 暑假集训后的一些感想

    在开学一个星期后我终于还是写下了这篇有关暑假集训博客,暑假集训的开始时间是七月十八号,是放暑假后的第三个星期.也就是说刚放假时我们还都回家了两个星期,快乐的玩耍了一阵子.随着时间的推移,时间来到七月十 ...

  7. 2016暑假集训小结

    小结 暑假集训之前,有很多事情在忙,什么考试,**之类.集训开始的时候还回了一趟家,这趟回家也发生了对我影响最大的事,之后想了很久,觉得也还是有必要继续走下去,因为我还是很爱这个集训队,很爱思考题解题 ...

  8. 2014暑假集训总结

    为期五个星期的暑假集训就这么结束了,如果说寒假的集训是为我们挖了一个个大坑,那么暑假的集训就只能说是宇宙大爆炸了.到了现在才发现,寒假我们学习的东西仅仅只是皮毛而已,这次学习的高级数据结构,真的是把我 ...

  9. 2020暑假集训项目——Java简易聊天室

    经过一周的学习与搬砖,我成功的完成了暑假集训的第一个项目--Java简易聊天室,这里对整个项目做一个总结.(文末附下载地址) 本项目支持的功能: 1.可同时开启多个客户端进行多人聊天: 2.可与在线的 ...

最新文章

  1. JVM:内存划分总结
  2. boost::bad_function_call用法的测试程序
  3. 18.12.09-C语言练习:兔子繁衍问题 / Fibonacci 数列
  4. CentOS 6.3 下用ntfs-3g挂载Windows NTFS分区
  5. 权限申请_Android 开发工程师必须掌握的动态权限申请,三步轻松搞定!
  6. [kubernetes] comands
  7. linux基础网络设置及使用DHCP动态配置主机地址
  8. NP、P、NPC、NP-hard 概念辨析
  9. 029--PM话术模板
  10. 【JSP】EL表达式和JSTL
  11. Java导出 Excel设置单元格格式
  12. 移动 app安全评估检测技术分析
  13. 化学计算机模拟计算,计算机化工辅助计算
  14. mysql查询选修课程的学生_[MySQL]查询学生选课的情况(一)
  15. Python图像处理库PIL的ImageOps模块介绍 ----- 一些基本的图像操作
  16. 浅谈主键索引与唯一索引
  17. GAN用于(无缺陷样本)产品表面缺陷检测
  18. 我的世界java版启动器怎么安装mod_我的世界MOD怎么安装 手机版MOD启动器下载
  19. 【锐捷无线】AC热备配置
  20. CAD绘制三维图形基础

热门文章

  1. 工作手机监控管理系统才是企业的明智选择!
  2. 企业数字化转型升级之路
  3. 小米手机无法打开WIFI
  4. 男孩子学计算机什么专业的专科好,男生专科读什么专业比较好
  5. ajax+node前后端交互学习笔记(1)
  6. oracle查看weblogic用户,Weblogic 默认用户名、密码问题
  7. python怎么算面积_python怎么计算面积?
  8. 电脑重装系统后重启电脑黑屏是怎么回事
  9. 怎么给WPS文字设置装订线
  10. [Layui]解决文本框只输入数字方法