1. #pragma GCC optimize(2)
  2. #include <bits/stdc++.h>
  3. #define ll long long
  4. using namespace std;
  5. const int N = 5e5+;
  6. const int mod=;
  7. const int sigma_size=;
  8. int dp[N];
  9. char str[N];
  10. char s[];
  11. struct Trie{
  12. int ch[N][sigma_size];
  13. int val[N];
  14. int sz;
  15. Trie(){sz=;memset(ch[],,sizeof(ch[]));}
  16. int idx(char c) {return c-'a';}
  17. void reset(){memset(ch,,sizeof(ch));memset(val,,sizeof(val));sz=;}
  18. void insert(char *s,int v)
  19. {
  20. int u=,n=strlen(s);
  21. for(int i=;i<n;i++)
  22. {
  23. int c=idx(s[i]);
  24. if(!ch[u][c])
  25. {
  26. memset(ch[sz],,sizeof(ch[sz]));
  27. val[sz]=;
  28. ch[u][c]=sz++;
  29. }
  30. u=ch[u][c];
  31. }
  32. val[u]=v;
  33. }
  34. int query(char *s,int a)
  35. {
  36. int u=,res=;
  37. for(int i=a;s[i];++i)
  38. {
  39. int c=idx(s[i]);
  40. if(!ch[u][c])
  41. return res;
  42. u=ch[u][c];
  43. if(val[u])
  44. {
  45. res+=dp[i+];
  46. res%=mod;
  47. }
  48. }
  49. return res;
  50. }
  51. };
  52. Trie T;
  53. int main()
  54. {
  55. int kase=;
  56. while(scanf("%s",str)!=EOF)
  57. {
  58. int n,m=strlen(str);
  59. scanf("%d",&n);
  60. T.reset();
  61. memset(dp,,sizeof(dp));
  62. for(int i=;i<=n;i++)
  63. {
  64. scanf("%s",s);
  65. T.insert(s,);
  66. }
  67. dp[m]=;
  68. for(int i=m-;i>=;i--)
  69. {
  70. dp[i]=T.query(str,i);
  71. }
  72. printf("Case %d: %d\n",++kase,dp[]);
  73. }
  74. return ;
  75. }

UVA1401 (字典树加简单dp)的更多相关文章

  1. LA、Remember the Word (字典树, 简单dp)

    传送门 题意: 给你一个初始串 S,strlen(s) <= 3e5  然后给你 n 个单词. n <= 4000,  每个单词的长度不超过 100 : 问你这个初始串,分割成若干个单词的 ...

  2. hdu 3698 Let the light guide us(线段树优化&简单DP)

    Let the light guide us Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 62768/32768 K (Java/O ...

  3. Uva1401(字典树)

    1401 - Remember the Word Time limit: 3.000 seconds Neal is very curious about combinatorial problems ...

  4. LA_3942 LA_4670 从字典树到AC自动机

    首先看第一题,一道DP+字典树的题目,具体中文题意和题解见训练指南209页. 初看这题模型还很难想,看过蓝书提示之后发现,这实际上是一个标准DP题目:通过数组来储存后缀节点的出现次数.也就是用一颗字典 ...

  5. poj 1056 IMMEDIATE DECODABILITY 字典树

    题目链接:http://poj.org/problem?id=1056 思路: 字典树的简单应用,就是判断当前所有的单词中有木有一个是另一个的前缀,直接套用模板再在Tire定义中加一个bool类型的变 ...

  6. CF Watto and Mechanism (字典树+深搜)

    Watto and Mechanism time limit per test 3 seconds memory limit per test 256 megabytes input standard ...

  7. HDU-1251 统计难题(我就是不用字典树)

    统计难题 ?戳这里可以前往原题 Problem Description Ignatius最近遇到一个难题,老师交给他很多单词(只有小写字母组成,不会有重复的单词出现),现在老师要他统计出以某个字符串为 ...

  8. 字典树基础进阶全掌握(Trie树、01字典树、后缀自动机、AC自动机)

    字典树 概述     字典树,又称单词查找树,Trie树,是一种树形结构,是一种哈希树的变种.典型应用是用于统计,排序和保存大量的字符串(但不仅限于字符串),所以经常被搜索引擎系统用于文本词频统计.它 ...

  9. UVA1401 Remember the Word 字典树维护dp

    题目链接:https://vjudge.net/problem/UVA-1401 题目: Neal is very curious about combinatorial problems, and ...

随机推荐

  1. 构建ROP链实现远程栈溢出

    通常情况下栈溢出可能造成的后果有两种,一类是本地提权另一类则是远程执行任意命令,通常C/C++并没有提供智能化检查用户输入是否合法的功能,同时程序编写人员在编写代码时也很难始终检查栈是否会发生溢出,这 ...

  2. qt creator源码全方面分析(2-10-1)

    目录 Getting and Building Qt Creator 获取Qt 获取和构建Qt Creator Getting and Building Qt Creator 待办事项:应该对此进行扩 ...

  3. pytorch之 CNN

    # library # standard library import os # third-party library import torch import torch.nn as nn impo ...

  4. Digital Twin 数字孪生

    GE的一个NB视频:http://v.youku.com/v_show/id_XMjk0NTMzODIyNA==.html http://www.gongkong.com/news/201701/35 ...

  5. NOIP幂次方

    #include<stdio.h> ] = { ,,,,,,,,,,,,,,, };//由题意n最大为20000,所以最多会用到2的14次方 //为了防止mid+1出错,故写到15次方 i ...

  6. matplotlib如何显示中文

    问题:matplotlib不能渲染中文 想设定为中文字体,网上搜索的方法几乎都是下面这样,已经把字体拷贝到了程序目录下了,然而并没有生效 plt.rcParams [ font.sans-serif' ...

  7. css position absolute相对于父元素的设置方式

    手机赚钱怎么赚,给大家推荐一个手机赚钱APP汇总平台:手指乐(http://www.szhile.com/),辛苦搬砖之余用闲余时间动动手指,就可以日赚数百元 大家知道css的position abs ...

  8. package包

    为什么需要package? 为了解决类之间的重名问题.为了方便管理类,合适的类放在合适的包. 怎么用package? 通常是类的第一句非注释性语句. 包名,域名倒着写,加上模块名,并与内部管理类. 命 ...

  9. sublime3 快捷键总结

    配置环境:win7 sublime3 1,快速html5模板页(已安装Emmet插件) 输入html:5后,然后 ctrl+e 2,快速复制 ctrl+shift+d 复制光标所在当前行 3,向上/向 ...

  10. 【STM32H7教程】第61章 STM32H7的MDMA基础知识和HAL库API

    完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第61章       STM32H7的MDMA基础知识和HAL ...