【47.92%】【hdu 5763】Another Meaning

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 1440    Accepted Submission(s): 690


Problem Description
As is known to all, in many cases, a word has two meanings. Such as “hehe”, which not only means “hehe”, but also means “excuse me”. 
Today, ?? is chating with MeiZi online, MeiZi sends a sentence A to ??. ?? is so smart that he knows the word B in the sentence has two meanings. He wants to know how many kinds of meanings MeiZi can express.

Input
The first line of the input gives the number of test cases T; T test cases follow.
Each test case contains two strings A and B, A means the sentence MeiZi sends to ??, B means the word B which has two menaings. string only contains lowercase letters.

Limits
T <= 30
|A| <= 100000
|B| <= |A|


Output
For each test case, output one line containing “Case #x: y” (without quotes) , where x is the test case number (starting from 1) and y is the number of the different meaning of this sentence may be. Since this number may be quite large, you should output the answer modulo 1000000007.

Sample Input
4 hehehe hehe woquxizaolehehe woquxizaole hehehehe hehe owoadiuhzgneninougur iehiehieh

Sample Output
Case #1: 3 Case #2: 2 Case #3: 5 Case #4: 1
Hint
In the first case, “ hehehe” can have 3 meaings: “*he”, “he*”, “hehehe”. In the third case, “hehehehe” can have 5 meaings: “*hehe”, “he*he”, “hehe*”, “**”, “hehehehe”.

Author
FZU

Source
2016 Multi-University Training Contest 4

【题解】

设c[i]表示前i个字符能组成多少种不同意思。

c[0..lens]初值为1;

c[i] += c[i-1]-1 (不取其特殊意思);

c[i] += c[i-lenb] (如果存在。则取其特殊意思);

abcdefgh

efgh

对于这样的输入

c[4]代表的是不取特殊意思的。==1

然后从c[4]可以推到c[4+lenb]

即c[4+lenb]+=c[4];

可以理解为

abcd****

abcdefgh这两种。

至于怎么取一个合适的位置做这样的推导。KMP

【代码】

#include <cstdio>
#include <cstring>const int MAX_SIZE = 101000;
const int MOD = 1000000007;int t;
int f[MAX_SIZE],c[MAX_SIZE];
char  s[MAX_SIZE], p[MAX_SIZE];
bool can[MAX_SIZE];
int lens, lenp;void init()
{memset(f, 0, sizeof(f));memset(c, 0, sizeof(c));memset(can, false, sizeof(can));
}void input_data()
{scanf("%s", s);scanf("%s", p);f[0] = 0; f[1] = 0;lens = strlen(s);lenp = strlen(p);for (int i = 1; i <= lenp - 1; i++){int j = f[i];while (j && (p[i] != p[j])) j = f[j];f[i + 1] = (p[j] == p[i] ? j + 1 : 0);}int j = 0;for (int i = 0; i <= lens - 1; i++){while (j && (p[j] != s[i]))j = f[j];if (p[j] == s[i]) j++;if (j == lenp)can[i - lenp + 1] = true;}
}void get_ans()
{for (int i = 0; i <= lens; i++)c[i] = 1;for (int i = 0; i <= lens; i++){if (i)c[i] = (c[i] + c[i - 1] - 1) % MOD;if (can[i])c[i + lenp] = (c[i+lenp] + c[i]) % MOD;}
}void output_ans()
{printf("%d\n", c[lens]);
}int main()
{//freopen("F:\\rush.txt", "r", stdin);scanf("%d", &t);for (int i = 1; i <= t; i++){printf("Case #%d: ", i);init();input_data();get_ans();output_ans();}return 0;
}


转载于:https://www.cnblogs.com/AWCXV/p/7632243.html

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

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

相关文章

root用户登录mysql后新建用户提示1045错误

执行以下命令查看root权限 show grants for rootlocalhost; 如果没有显示with grant option,说明是root没有拥有新建授权用户的权限&#xff08;为什么会这样呢&#xff0c;因为我把userroot and hostlocalhost给删掉了&#xff0c;然后重新授权all privileges给新建root用户&a…

Flask werkzeug 源码解析

Flask werkzeug流程大概&#xff1a;执行run_simple &#xff0c;实际执行为先用make_server 创建一个 BaseServer 实例&#xff0c;然后执行 实例的serve_forever 方法, serve_forever 调用 run_simple 传入的第三个参数&#xff0c;执行(self, environ, start_response) &am…

AVS 帧内预测模式的汇编优化

王瑞&#xff0a;基金项目&#xff1a;本课题得到国家自然科学基金资助项目基金&#xff08;项目编号&#xff1a;60772101&#xff09;的资助。作者简介&#xff1a;王瑞&#xff08;1986—&#xff09;, 男, 山东莱芜人, 硕士, 主要从事视频压缩方面的研究. E&#xff0d;mai…

ltsc系统激活_WIN10_X64企业版LTSC 电脑公司装机版 202008

文件: WIN10_X64_LTSC_ZJ202008.esd大小: 7431429353 字节(6.92G)MD5: A3A3B15ED47216E177C924D2E07E0799SHA1: 3A647265E0C8234225C633407093BAA07253FB34CRC32: 32E791E9(注意&#xff0c;下载文件有一定几率损坏&#xff0c;如文件值不对请重新下载&#xff01;)360安全云盘…

大学计算机应用基础考试题库,大学计算机应用基础考试题库

综合模拟(四)一、选择题。1、完整的计算机硬件系统一般包括外部设备和 C 。A、运算器的控制器 B、存储器 C、主机 D、中央处理器2、计算机能够自动工作&#xff0c;主要是因为采用了 D 。A、二进制数制 B、高速电子元件 C、存储程序控制 D、程序设计语言3、下面哪能一组是系统软…

Lombok 使用小结

Lombok 使用小结 Lombok 简介Lombok 安装Lombok 使用 API示例示例源码引用和引申Lombok 简介 Lombok 是一种 Java 实用工具&#xff0c;可用来帮助开发人员消除 Java 的冗长&#xff0c;尤其是对于简单的 Java 对象&#xff08;POJO&#xff09;。它通过注释实现这一目的。通过…

html表单input file,input标签type=file的文件上传

一&#xff0c;通过表单提交的方式该提交方式只是提交普通表单&#xff1b;对于file组所选中的文件内容是不上传的&#xff0c;因此需要设置&#xff1a;enctype属性enctype"multipart/form-data"如果想上传多文件&#xff0c;可添加multiple二&#xff0c;通过Ajax异…

AVS游程解码、反扫描、反量化和反变换优化设计

中图分类号:TN919.81   文献标识码:A   文章编号:1009-2552 (2007) 02-0054-04AVS游程解码、反扫描、反量化和反变换优化设计赵 策, 刘佩林(上海交通大学电子工程系, 上海200240)摘 要: 提出了一种适用于AVS的游程解码、反扫描、反量化和反变换硬件结构优化设计方案。根据…

Django REST framework介绍

现在前后端分离的架构设计越来越流行&#xff0c;业界甚至出现了API优先的趋势。 显然API开发已经成为后端程序员的必备技能了&#xff0c;那作为Python程序员特别是把Django作为自己主要的开发框架的程序员&#xff0c;Django REST framework&#xff08;DRF&#xff09;这个…

zabbix 安装_安装zabbix

准备一个纯净环境10.0.0.99首先修改yum源&#xff0c;修改为zabbix清华源&#xff0c;清华源玉zabbix官方源都是同步的&#xff0c;下载速度更快&#xff01;zabbix官方Download Zabbix​www.zabbix.com点击下载&#xff0c;下面有zabbix的历史版本以及官方安装文档可以查看到不…

拓展欧几里得 [Noi2002]Savage

对于一个野人&#xff0c;他&#xff08;她&#xff1f;&#xff09;所在的位置&#xff0c;&#xff08;C[i]x*p[i]&#xff09;%ans,是的&#xff0c;暴力枚举每一个ans&#xff0c;用拓展欧几里得求出每两个wildpeople(wildrage?)相遇的年份&#xff0c;如果小于最小的寿限…

CCNP-19 IS-IS试验2(BSCI)

CCNP-19 IS-IS试验2 实验拓扑&#xff1a;试验要求&#xff1a;R1 R2 R3全部采用集成的ISIS路由协议&#xff0c;R1 R2在区域49.0001内&#xff0c;R3在区域49.0002内&#xff0c;R1与R2之间的链路类型为L1&#xff0c;R2与R3之间的链路类型为L2。 试验目的&#xff1a;掌握基…

正道的光用计算机,正道的光作文500字

当那熟悉的轰天巨雷般的呼噜声响起&#xff0c;我就知道&#xff0c;这又是睡不着的一天。同样在宿舍&#xff1b;同样是小翟&#xff1b;同样的时间&#xff1b;同样在我昏昏欲睡的时候&#xff0c;那个熟悉的呼噜声&#xff0c;它又来了。它将我从即将到来的美梦中惊醒了&…

AVS高清立体视频编码器

一、成果项目背景 电视技术在经历了从黑白到彩色、从模拟到数字的技术变革之后正在酝酿另一场技术革命&#xff0c;从单纯观看二维场景的平面电视跨越到展现三维场景的立体电视。立体电视&#xff0c;又称三维电视(3DTV)&#xff0c;提供了更为丰富的视觉信息和更具临场感的观…

RESTful介绍

RESTful介绍 REST与技术无关&#xff0c;代表的是一种软件架构风格&#xff0c;REST是Representational State Transfer的简称&#xff0c;中文翻译为“表征状态转移”或“表现层状态转化”。阮一峰 理解RESTful架构 RESTful API设计指南 阮一峰 RESTful设计指南 API与用户…

dijkstra算法代码_数据科学家需要知道的5种图算法(附代码)

在本文中&#xff0c;我将讨论一些你应该知道的最重要的图算法&#xff0c;以及如何使用Python实现它们。作者&#xff1a;AI公园导读因为图分析是数据科学家的未来。作为数据科学家&#xff0c;我们对pandas、SQL或任何其他关系数据库非常熟悉。我们习惯于将用户的属性以列的形…

大暴搜 chess

仔细读题&#xff0c;会发现吃掉敌人点对方案数的贡献很神奇。如果走的空格相同&#xff0c;而走的敌人点不同&#xff0c;对答案无贡献&#xff0c;而对于走的空格相同&#xff0c;但一种走了敌人点&#xff0c;另一种没走&#xff0c;算两个方案。。。。sb出题人语文简直是和…

网站的SEO以及它和站长工具的之间秘密

博客迁移没有注意 URL 地址的变化&#xff0c;导致百度和 google 这两只爬虫引擎短时间内找不到路。近段时间研究了下国内最大搜索引擎百度和国际最大搜索引擎google的站长工具&#xff0c;说下感受。 百度的站长工具地址&#xff1a;http://zhanzhang.baidu.com/dashboard/ind…

html 缩略图点击预览,[每天进步一点点~] uni-app 点击图片实现预览图片列表

点击图片&#xff0c;实现预览图片功能&#xff0c;并且可循环预览图片列表&#xff01;image.png一、多张图片预览html代码js代码data(){return {photos:[{ src: 图片路径1},{ src: 图片路径2},{ src: 图片路径3},……]}},methods: {// 预览图片previewImage(index) {let phot…

git ssh拉取代码_阿里云搭建git服务器

一.搭建步骤&#xff0c;分为两步搭建中心仓库自动同步代码到站点目录二.详细步骤如下1.先检查一下服务器上有没有安装gitgit --version如果出现版本号&#xff0c;说明服务器已经安装git&#xff0c;如图所示&#xff1a;2.如果没有版本信息&#xff0c;则先安装git&#xff1…