[JSOI2007]文本生成器

1030: [JSOI2007]文本生成器

Time Limit: 1 Sec  Memory Limit: 162 MB
http://www.lydsy.com/JudgeOnline/problem.php?id=1030

Description

  JSOI交给队员ZYX一个任务,编制一个称之为“文本生成器”的电脑软件:该软件的使用者是一些低幼人群,
他们现在使用的是GW文本生成器v6版。该软件可以随机生成一些文章―――总是生成一篇长度固定且完全随机的文
章—— 也就是说,生成的文章中每个字节都是完全随机的。如果一篇文章中至少包含使用者们了解的一个单词,
那么我们说这篇文章是可读的(我们称文章a包含单词b,当且仅当单词b是文章a的子串)。但是,即使按照这样的
标准,使用者现在使用的GW文本生成器v6版所生成的文章也是几乎完全不可读的?。ZYX需要指出GW文本生成器 v6
生成的所有文本中可读文本的数量,以便能够成功获得v7更新版。你能帮助他吗?

Input

  输入文件的第一行包含两个正整数,分别是使用者了解的单词总数N (<= 60),GW文本生成器 v6生成的文本固
定长度M;以下N行,每一行包含一个使用者了解的单词。这里所有单词及文本的长度不会超过100,并且只可能包
含英文大写字母A..Z

Output

  一个整数,表示可能的文章总数。只需要知道结果模10007的值。

Sample Input

2 2
A
B

Sample Output

100
ans=26^m - 不包含任何一个模板串的数目
求不包含任何一个模板串的数目,
套路 dp[i][j] 还剩下i位没填,当前在AC自动机j号节点
#include<queue>
#include<cstdio>
#include<cstring>#define mod 10007using namespace std;int n,m,len,id,root,tot=1;
int f[61*101],trie[61*101][27];
char s[101];
bool mark[61*101];
int dp[101][61*101];
bool v[101][61*101];queue<int>q;struct ACautomata
{void insert(){len=strlen(s);root=1;for(int i=0;i<len;i++){id=s[i]-'A';if(!trie[root][id]) trie[root][id]=++tot;root=trie[root][id];}mark[root]=true;}void getfail(){for(int i=0;i<26;i++) trie[0][i]=1;q.push(1);int now,j;while(!q.empty()){now=q.front(); q.pop();for(int i=0;i<26;i++){if(!trie[now][i]) {trie[now][i]=trie[f[now]][i];continue;}q.push(trie[now][i]);j=f[now];f[trie[now][i]]=trie[j][i];if(mark[trie[j][i]]) mark[trie[now][i]]=true;}}}int dfs(int l,int now){if(!l) return 1;if(v[l][now]) return dp[l][now];v[l][now]=true;for(int i=0;i<26;i++)if(!mark[trie[now][i]]) dp[l][now]=(dp[l][now]+dfs(l-1,trie[now][i]))%mod;return dp[l][now]; }
};ACautomata AC;int main()
{scanf("%d%d",&n,&m);while(n--){scanf("%s",s);AC.insert();}AC.getfail();int a=AC.dfs(m,1);int b=1;for(int i=1;i<=m;i++) b=b*26%mod;printf("%d",(b-a+mod)%mod);
}

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6995317.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/400704.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试问题整理笔记系列 一 Java容器类

虚线框表示接口&#xff1b;实线框表示实体类&#xff1b;粗线框表示最常用的实体类&#xff1b;虚线箭头表示实现了这个接口&#xff1b;实现箭头表示类可以制造箭头所指的那个类的对象。 Collection&#xff1a;只允许在每一个位置上放一个对象。它包括“以一定顺序持有一组对…

【 Grey Hack 】反向Shell

目录调查准备反向shell反向shell提权版本&#xff1a;Grey Hack v0.7.3618 - Alpha 如图&#xff0c;本案例中目标IP尚未开放常见端口 调查 通过路由器获得目标PC的用户邮箱账号和相应的Password 所用脚本介绍&#xff1a; routerpsw 准备反向shell 在本机获得root后配置r…

leetcode------Word Search

标题&#xff1a;Word Search通过率&#xff1a;20.0%难度&#xff1a;中等Given a 2D board and a word, find if the word exists in the grid. The word can be constructed from letters of sequentially adjacent cell, where "adjacent" cells are those horiz…

阈值PSI代码

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

离散化求RECT1

本文转载至点击打开链接 #include<stdio.h> struct node{int x1,y1,x2,y2,c; }; struct node s[1010]; int px[2010],py[2010],ux[10010],uy[10010],p[10000]; short a[2010][2010],c[2510]; int main(){int i,j,k,m,n; scanf("%d%d%d",&n,&m,&k);…

对IplImage 结构体的理解

1 typedef struct _IplImage 2 { 3 int nSize; /* IplImage大小 */ 4 int ID; /* 版本 (0)*/ 5 int nChannels; /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */ 6 int alphaChannel; /* 被OpenCV忽略 */ …

【 Grey Hack 】万金油脚本:原地提权工具

目录脚本源码用法效果及示例版本&#xff1a;Grey Hack v0.7.3618 - Alpha 脚本源码 metaxploit include_lib("/lib/metaxploit.so") if not metaxploit thenmetaxploit include_lib(current_path "/metaxploit.so") end if if not metaxploit then ex…

可落地的DDD(7)-战术设计上的一些误区

&#x1f680; 优质资源分享 &#x1f680; 学习路线指引&#xff08;点击解锁&#xff09;知识定位人群定位&#x1f9e1; Python实战微信订餐小程序 &#x1f9e1;进阶级本课程是python flask微信小程序的完美结合&#xff0c;从项目搭建到腾讯云部署上线&#xff0c;打造一…

android之PackageManager简单介绍

PackageManager相关 本类API是对全部基于载入信息的数据结构的封装&#xff0c;包含下面功能&#xff1a; 安装&#xff0c;卸载应用查询permission相关信息 查询Application相关信息(application&#xff0c;activity&#xff0c;receiver&#xff0c;service&#xff0c;prov…

【 Grey Hack 】万金油脚本:常见端口修改Password

目录脚本源码用法效果及示例版本&#xff1a;Grey Hack v0.7.3618 - Alpha 适用于SSH (22) 端口、FTP (21) 端口、HTTP (80) 端口、SMTP (25) 端口及3306/3307 端口等。 脚本源码 if params.len ! 2 or params[0] "-h" or params[0] "--help" then exi…

IPMI远程管理一点记录

http://www.07net01.com/storage_networking/IPMIyuanchengguanliyidianjilu_53093_1357975254.html转载于:https://www.cnblogs.com/diyunpeng/p/7001649.html

mysql INFORMATION_SCHEMA COLUMNS 解释

参考地址&#xff1a; http://dev.mysql.com/doc/refman/5.1/zh/information-schema.html#columns-table标准名称 SHOW名称 注释 TABLE_CATALOG 表目录 TABLE_SCHEMA 表架构 TABLE_NAME 表名 COLUMN_NAME Field 列名 ORDINAL_POSITION 列位置…

JavaScript中的原型和对象机制

1 对象相关的一些语言特性1.1 一切皆为对象JavaScript里所有的东西都是对象. 对象是属性的集合. 数字, 字符串, 布尔值等原始值是"伪对象", 它们同样拥有属性, 但是是在栈上分配并按值传递. 而其他的对象是堆上分配并按引用传递.一个很重要的概念是, 函数也是对象, 能…

【 Grey Hack 】记一次被黑经历

目录又被搞了版本&#xff1a;Grey Hack v0.7.3618 - Alpha 胆大包天的我黑进游戏内shop的IP后&#xff0c;顺着其上面的日志溯源到不少疑似其他玩家租的服务器&#xff0c;暂时没什么进展 不久后回到桌面才发现自己已经被黑入了 随后我打开日志查看记录 只看清是从我的1222…

iec61850采样协议(9-1、9-2)解析(一)

1 /*2 *3 * iec61850sv_protocol.h4 *5 * iec61850采样协议&#xff08;9-1、9-2&#xff09;解析。6 *7 *8 * 本代码支持win32平台和linux平台。9 *10 * Copyright (c)2012,lizhi<ibox>11 *12 * 2012-10-10 V1.0 lizhi<QQ:252240557,msn:ddgooohotmail.co…

C#即时释放内存

using System;using System.Diagnostics;using System.Runtime.InteropServices;[DllImport("kernel32.dll")]private static extern bool SetProcessWorkingSetSize(IntPtr process, int minSize, int maxSize);/// <summary>/// 即时释放内存/// </summar…

【 Grey Hack 】加强版nmap

目录probe使用方法效果routerpcscan使用方法效果版本&#xff1a;Grey Hack v0.7.3618 - Alpha probe if params.len ! 1 or params[0] "-h" or params[0] "--help" then exit(command_info("<b>probe [IP]</b>")) if not is_va…

文档容器iOS网络编程-iCloud文档存储编程实例

在本文中,我们主要绍介文档容器的容内,自我感觉有个不错的建议和大家分享下 iCloud文档存储程编对相键值据数存储而言比较复杂&#xff0c;涉及到自定义文档类、取得iCloud文档录目、找查Ubiquity容器中的文档、保存文档和决解文档冲突等容内。 实例&#xff1a;iCloud文档存储…

CSS3之伪元素选择器和伪类选择器

伪类选择器&#xff0c;和一般的DOM中的元素样式不一样&#xff0c;它并不改变任何DOM内容。只是插入了一些修饰类的元素&#xff0c;这些元素对于用户来说是可见的&#xff0c;但是对于DOM来说不可见。伪类的效果可以通过添加一个实际的类来达到。 a:link|a:visited|a:hover|a…

CSS只是进化的一部分

Bert Bos是一位计算机科学家&#xff0c;他也是CSS的创始人之一。在CSS的发展过程中&#xff0c;Bos是最早与Hkon Wium Lie&#xff08;CSS之父&#xff09;合作的人之一。在1996年&#xff0c;他加入了World Wide Web Consortium&#xff08;W3C&#xff09;负责CSS的开发。他…