题目链接 https://hihocoder.com/contest/hiho227/problem/1

题目详解 https://hihocoder.com/discuss/question/5587

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define Max(a,b) ((a>b)?a:b)
  4. const int N = 1e6+;
  5. int n,ans; string s[N], S;
  6. int slen,Slen;
  7. int f[N/][], id[];
  8.  
  9. void init()
  10. {
  11. for(int i=; i<=; i++)
  12. id[i] = Slen;
  13. for(int i=Slen-; i>=; i--) {
  14. for(int j=; j<; j++) {
  15. f[i][j] = id[j];
  16. }
  17. int x = S[i] - 'a';
  18. id[x] = i;
  19. }
  20. /*
  21. for(int i=0; i<Slen; i++) {
  22. for(int j=0; j<3; j++) {
  23. printf("%d%c",f[i][j],j==2?'\n':' ');
  24. }
  25. }
  26. */
  27. }
  28.  
  29. void solve(int k)
  30. {
  31. int i=, j=;
  32. while(i == && j < Slen) {
  33. if(S[j] != s[k][i])
  34. j++;
  35. else
  36. i++,j++;
  37. }
  38. j--;
  39. while(i < slen && j < Slen) {
  40. int x= s[k][i] - 'a';
  41. j = f[j][x];
  42. if(j >= Slen) break;
  43. i++;
  44. }
  45.  
  46. if(i >= slen) {
  47. //cout<< k <<" "<< slen<<endl;
  48. ans = Max(ans, slen);
  49. }
  50. return ;
  51.  
  52. }
  53.  
  54. int main()
  55. {
  56. freopen("in.txt","r",stdin);
  57. while(~scanf("%d", &n)) {
  58. ans = ;
  59. for(int i=; i<n; i++)
  60. cin >> s[i];
  61. cin >> S;
  62. Slen = S.length();
  63. init();
  64. for(int i=; i<n; i++) {
  65. slen = s[i].length();
  66. if(slen <= ans || slen > Slen)
  67. continue;
  68. solve(i);
  69. }
  70. printf("%d\n", ans);
  71. }
  72. return ;
  73. }

hihoCoder week227 Longest Subsequence的更多相关文章

  1. D. Longest Subsequence

    D. Longest Subsequence time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  2. Codeforces 632D Longest Subsequence 2016-09-28 21:29 37人阅读 评论(0) 收藏

    D. Longest Subsequence time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  3. Educational Codeforces Round 9 D - Longest Subsequence

    D - Longest Subsequence 思路:枚举lcm, 每个lcm的答案只能由他的因子获得,类似素数筛搞一下. #include<bits/stdc++.h> #define ...

  4. CF632D Longest Subsequence

    D. Longest Subsequence time limit per test 2 seconds memory limit per test 256 megabytes input stand ...

  5. Educational Codeforces Round 9 D. Longest Subsequence dp

    D. Longest Subsequence 题目连接: http://www.codeforces.com/contest/632/problem/D Description You are giv ...

  6. [徐州网络赛]Longest subsequence

    [徐州网络赛]Longest subsequence 可以分成两个部分,前面相同,然后下一个字符比对应位置上的大. 枚举这个位置 用序列自动机进行s字符串的下标转移 注意最后一个字符 #include ...

  7. codeforces632D. Longest Subsequence (最小公倍数)

    You are given array a with n elements and the number m. Consider some subsequence of a and the value ...

  8. codeforces 632D. Longest Subsequence 筛法

    题目链接 记录小于等于m的数出现的次数, 然后从后往前筛, 具体看代码. #include <iostream> #include <vector> #include < ...

  9. CodeForces 632D Longest Subsequence

    暴力. 虽然$a[i]$最大有${10^9}$,但是$m$最大只有${10^6}$,因此可以考虑暴力. 记$cnt[i]$表示数字$i$有$cnt[i]$个,记$p[i]$表示以$i$为倍数的情况下, ...

随机推荐

  1. 六 js函数和this

    js的所有代码都是由funtion组成,funtion即函数的类型. 一.函数有两种写法 -----1.定义式 function test() { //定义一个函数 console.log(" ...

  2. keras 上添加 roc auc指标

    https://stackoverflow.com/questions/41032551/how-to-compute-receiving-operating-characteristic-roc-a ...

  3. 批量下载网站图片的Python实用小工具(下)

    引子 在 批量下载网站图片的Python实用小工具 一文中,讲解了开发一个Python小工具来实现网站图片的并发批量拉取.不过那个工具仅限于特定网站的特定规则,本文将基于其代码实现,开发一个更加通用的 ...

  4. Linux下实现免密登录

    过程如下: 1.Linux下生成密钥 通过命令”ssh-keygen -t rsa“ 2.1 通过ssh-copy-id的方式 命令: ssh-copy-id -i ~/.ssh/id_rsa.put ...

  5. flask 重定向到上一个页面,referrer、next参数

    重定向会上一个页面 在某些场景下,我们需要在用户访问某个url后重定向会上一个页面,比如用户点击某个需要登录才能访问的连接,这时程序会重定向到登录页面,当用户登录后比较合理的行为是重定向到用户登录前浏 ...

  6. android studio eclipse keymap theme 快捷键 主题风格设置

    android studio eclipse keymap theme 快捷键 主题风格设置 将Android Studio的快捷键设置与eclipse一致,使用习惯的快捷键才顺手.Mac系统下:进入 ...

  7. 基于jquery 的dateRangePicker 和 My97DatePicker

    引入相应的date插件 <script type="text/javascript" src="../plugins/daterangepicker/moment. ...

  8. Spring Boot REST API 自动化测试

    Spring Boot需要写大量的Junit代码来测试REST API, 这点让不了解代码的人很头疼.如果使用REST client工具测试REST API,很多REST Client工具是不支持自动 ...

  9. ES6知识整理(2)--变量的解构赋值

    最近准备在业余空闲时间里一边学习ES6,一边整理相关知识.只有整理过的学习才是有效的学习.也就是学习之后要使用和整理成文,才是真正的学到了... 上一篇是一个试水,现在接上. 变量提升 看了下朋友回复 ...

  10. logstash 5.1.1 学习

    Logstash 5.1.1 安装配置 安装和配置 java 环境: [root@ ~]# tar xf jdk-8u71-linux-x64.tar.gz [root@ ~]# mv jdk1.8. ...