hdu3065 病毒侵袭持续中

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载 本博客是最全的最好的解释的华中科技大学计算机组成实验存储系统实验,本博客给出了电路实现,也给出了使用电路的原因有利于新手学习十分详细。并且内赋源码下载。 阅读详情

病毒侵袭持续中

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2876    Accepted Submission(s): 1056


Problem Description
小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包含多少不同的病毒,每种病毒出现了多少次。大家能再帮帮他吗?
 

Input
第一行,一个整数N(1<=N<=1000),表示病毒特征码的个数。
接下来N行,每行表示一个病毒特征码,特征码字符串长度在1—50之间,并且只包含“英文大写字符”。任意两个病毒特征码,不会完全相同。
在这之后一行,表示“万恶之源”网站源码,源码字符串长度在2000000之内。字符串中字符都是ASCII码可见字符(不包括回车)。
 

Output
按以下格式每行一个,输出每个病毒出现次数。未出现的病毒不需要输出。
病毒特征码: 出现次数
冒号后有一个空格,按病毒特征码的输入顺序进行输出。
 

Sample Input
  
3 AA BB CC ooxxCC%dAAAoen....END
 

Sample Output
  
AA: 2 CC: 1
Hint
Hit: 题目描述中没有被提及的所有情况都应该进行考虑。比如两个病毒特征码可能有相互包含或者有重叠的特征码段。 计数策略也可一定程度上从Sample中推测。
 

Source
 

Recommend
lcy




这次AC自动机的BFS用的是其他人用的比较多的从前往后推。。这样少存两个参数,应该方便些。

#include <stdio.h>
#include <string.h>
#include <queue>
using namespace std;

typedef struct
{
    int word,fail;
    int next[26];
}Tree;

char str[1005][55];
char s[2000005];
int up;
Tree tree[1000005];
int ans[1005];
queue <int> q;

void Add(char *str,int k)
{
    int i,j,n,now;
    n=strlen(str);
    now=0;
    for (i=0;i<n;i++)
    {
        if (tree[now].next[str[i]-'A']==-1)
        {
            tree[now].next[str[i]-'A']=up;
            tree[up].word=-1;
            memset(tree[up].next,-1,sizeof(tree[up].next));
            up++;
        }
        now=tree[now].next[str[i]-'A'];
    }
    tree[now].word=k;
}

void BFS()
{
    int i,j,n,tmp,tag,t;
    q.push(0);
    while(!q.empty())
    {
        tag=q.front();
        q.pop();
        for (i=0;i<26;i++)
        {
            if (tree[tag].next[i]==-1) continue;
            t=tree[tag].next[i];
            q.push(t);
            if (tag==0)
            {
                tree[t].fail=0;
                continue;
            }
            tmp=tree[tag].fail;
            while (tree[tmp].next[i]==-1 && tmp!=0)
            {
                tmp=tree[tmp].fail;
            }
            if (tree[tmp].next[i]!=-1)
            {
                tree[t].fail=tree[tmp].next[i];
            }
            else
            {
                tree[t].fail=tmp;
            }
        }
    }
}

void Count(char *str)
{
    int n,i,j,now,tag;
    n=strlen(str);
    now=0;
    for (i=0;i<n;i++)
    {
        if (str[i]>'Z' || str[i]<'A')
        {
            now=0;
            continue;
        }
        while (tree[now].next[str[i]-'A']==-1 && now!=0)
        {
            now=tree[now].fail;
        }
        if (tree[now].next[str[i]-'A']!=-1)
        {
            now=tree[now].next[str[i]-'A'];
        }
        tag=now;
        while(tag!=0)
        {
            if (tree[tag].word!=-1) ans[tree[tag].word]++;
            tag=tree[tag].fail;
        }
    }
}

int main()
{
    int i,j,n;
    char ch;
    while(scanf("%d",&n)!=EOF)
    {
        up=1;
        tree[0].fail=0;
        tree[0].word=-1;
        memset(tree[0].next,-1,sizeof(tree[0].next));
        for (i=0;i<n;i++)
        {
            scanf("%s",str[i]);
            Add(str[i],i);
        }
        BFS();
        ch=getchar();
        gets(s);
        memset(ans,0,sizeof(ans));
        Count(s);
        for (i=0;i<n;i++)
        {
            if (ans[i]==0) continue;
            printf("%s: %d\n",str[i],ans[i]);
        }
    }
    return 0;
}




YOLOv11改进策略【注意力机制篇】| 2024 蒙特卡罗注意力(MCAttn)模块,提高小目标的关注度 本文记录的是基于蒙特卡罗注意力(MCAttn)模块的YOLOv11目标检测改进方法研究。利用提高的跨尺度特征提取能力,使模型能够更好地传递和融合提取的多尺度特征,提高对小目标的关注度。Exploiting Scale-Variant Attention for Segmenting Small Medical Objects使用一种基于随机采样的池化操作来生成尺度无关的注意力图。它从三个不同尺度(3×33×33×3、2×22×22×2和1×11×11×1,即池化张量)中随机选择一个1×11×11×1注意力图 阅读详情

相关推荐

【MMDetection3.0实战】从零构建自定义数据集训练流程

本文详细介绍了使用MMDetection3.0框架从零开始构建自定义目标检测数据集的完整训练流程。内容涵盖环境配置、COCO格式数据准备、核心代码改造、模型配置与训练策略调优,以及最终的模型测试与验证,帮助开发者快速上手并训练自己的检测模型。

l6m7n8的博客 314

【hdu3065-病毒侵袭持续中】AC自动机

【hdu3065-病毒侵袭持续中】AC自动机 题意:给定一些只含大写字母的病毒串,再给一个文本串,问文本串中每个病毒串各出现了多少次。 题解: 就是用AC自动机,在每个节点末尾有个id记录是哪个单词的末尾,然后如果同时是多个单词的末尾就用一个next数组链状记录当前id的下一个值。多组数据坑死人。坑死人。 1 #include&...

qq_25768269的博客 161

[3D检测系列-PV-RCNN] PV-RCNN实战指南:从论文解析到代码调试全流程

本文提供了PV-RCNN在3D目标检测领域的实战全流程指南。文章深入解析了其Point-Voxel融合的核心思想,并详细演示了从环境搭建、数据准备、代码复现到模型训练与调试的具体步骤,特别针对常见的报错问题给出了解决方案,帮助开发者高效掌握这一经典算法。

weixin_29189381的博客 480

hdu 3065 病毒侵袭持续中 //AC自动机

<br /> <br />病毒侵袭持续中Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)<br />Total Submission(s): 866    Accepted Submission(s): 293<br /><br /><br />Problem Description小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”

hqd_acm的专栏 985

BK7238(XH-WB3S)固件烧录实战:从AT固件选择到稳定下载全解析

本文详细解析了BK7238(XH-WB3S)模组固件烧录的全过程,从AT固件版本选择到稳定下载的实战技巧。重点介绍了烧录前的准备工作、硬件连接的正确姿势、烧录软件的实战技巧以及疑难问题排查指南,帮助开发者高效完成BK7238模组的固件烧录。

weixin_29159441的博客 251

DELPHI11 利用Android手机实现条码扫描功能

好了,整个过程全部结束,当然这只是最简单的例子,只是演示一下如何识别条码,更多的条码处理功能,比如优化,提速等需要在后面继续。安装过程中所有提示框全部按OK就可以,直到提示安装成功,那么ZXing库就成功完成了安装。点击红框标识的文件夹图标,将下载的ZXing库文件路径加入进来后,点ADD。第三步:选择下载的ZXing库路径,并按Ctrl + A进行全选,并导入。至此为止,我们的库才算是全部安装完成,可以在DELPHI 中正常引用了。2.打开相机,识别条码,并将条码内容显示在MEMO1中。

1530

HDU-3065-病毒侵袭持续中(AC自动机)

转载于:https://www.cnblogs.com/GrowingJlx/p/6642744.html

abcd12341abcd1234的博客 127

STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能

单片机实现LWIP的调试

qq_40600203的博客 3070

hdu-3065(AC自动机)

Hdu-3065 思路: 考虑所有的ASCII字符的情况,用26范围内可能出错。 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; const in...

积少成多,水滴石穿 402

从 0 到 1 打造一个“超级 IP 智能体”

这篇文章介绍了一个"超级IP智能体"的技术架构和实现方案。该项目构建了一个多模态内容生成流水线,主要流程包括:1)视频下载和音频提取;2)语音识别转换为文字稿;3)使用大语言模型对文案进行仿写和润色;4)语音合成;5)数字人口型同步;6)视频后期处理。文章详细介绍了如何使用Python和Hugging Face开源模型搭建环境,并重点展示了视频下载、语音识别(采用Whisper模型)以及文案仿写(使用Qwen1.5-7B-Chat模型)等核心模块的代码实现。所有处理均针对M3芯片Mac优

AI天才研究院 1149

用 CDS 作为 Referenced Data Source 开发 SAP Gateway OData 服务,一条更轻的 SEGW 路线

本文介绍了SAP Gateway项目中从传统手工建模到基于CDS View的现代化开发方式转变。主要内容包括: 传统方式需要在SEGW中手动创建Entity Type、Entity Set等元素,并在DPC_EXT中编写大量查询逻辑,存在模型层和业务逻辑重复表达的问题。 7.50版本后,SAP Gateway与ABAP CDS深度集成,可通过SEGW直接引用CDS View作为数据源,自动生成数据模型和SADL读取逻辑,支持完整的OData查询功能。 最佳实践建议通过Consumption View而非直接

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 706

HDU 3065:病毒侵袭持续中(AC自动机)

http://acm.hdu.edu.cn/showproblem.php?pid=3065 题意:中文题意。 思路:直接插入然后用一个数组记录id和cnt,因为n只有1000,可以开一个数组判断第几个字符串出现过的次数,然后输出就好了。 坑点:多组输入!!!然后因为new出来的空间要自己释放,因此需要用一个vector装起来(似乎多此一举),最后delete掉。 1 #inclu...

weixin_30853329的博客 117

YOLOv8改进策略【卷积层】| ECCV-2024 小波卷积WTConv 增大感受野,降低参数量计算量,独家创新助力涨点

本文记录的是利用模块优化的目标检测网络模型。的目的是在不出现过参数化的情况下有效地增加卷积的感受野,从而解决了在感受野扩展中的参数膨胀问题。本文将其加入到深度可分离卷积中,有效降低模型参数量和计算量,并二次创新C2f,使模块更好地捕捉低频特征,增强网络性能。Wavelet Convolutions for Large Receptive Fields小波卷积及其改进的实现代码如下: 四、创新模块 4.1 改进点1⭐ 模块改进方法:加入(第五节讲解添加步骤)。添加后如下:模块改进方法:基于的(第五节讲解添加

Limiiiing的博客 1092

【AC自动机_每个模式串在文本串中出现的次数】HDU 3065 病毒侵袭持续中

HDU 3065 病毒侵袭持续中 题意:给出n个全是英文大写字母的模式串,保证每个模式串不完全相同。然后再给出一个文本串,字符集由包含ASCII可见字符组成。问每个模式串在文本串中出现的次数。 一: 思路:其实就是一个AC自动机的板子???只是分别统计了每个模式串出现的次数而已???真的是这样!!!!!我真的迷…… #include <iostream> #include...

L_X_ 364

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

HDU 3065 病毒侵袭持续中

HDU 3065 病毒侵袭持续中 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Problem Description - 题目描述 小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大...

122

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

AC自动机入门 - HDU3065 病毒侵袭持续中

AC自动机的模板题。 HDU3065 病毒侵袭持续中 题意:给定n个字符串和一段文本,统计每个字符串在文本中分别出现的次数。 注意点:这里输入单词的时候给每个单词分布一个id,然后在统计次数的时候根据id增加数组的次数就可以了。(这里用kuangbin大神的模板) code: #include #include #include #include using namespa

Exchan 384

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

HDU3065 病毒侵袭持续中

小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包含多少不同的病毒,每种病毒出现了多少次。大家...

weixin_44488944的博客 183

HDU3065 病毒侵袭持续中

病毒侵袭持续中 Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 10442Accepted Submission(s): 3679 Problem Description 小t非常感谢大...

dezhen7015的博客 77

[题解]HDU2896病毒侵袭、HDU3065病毒侵袭持续中

HDU2896病毒侵袭当太阳的光辉逐渐被月亮遮蔽,世界失去了光明,大地迎来最黑暗的时刻。。。。在这样的时刻,人们却异常兴奋――我们能在有生之年看到500年一遇的世界奇观,那是多么幸福的事儿啊~~ 但网路上总有那么些网站,开始借着民众的好奇心,打着介绍日食的旗号,大肆传播病毒。小t不幸成为受害者之一。小t如此生气,他决定要把世界上所有带病毒的网站都找出来。当然,谁都知道这是不可能的。小t却执

Saramanda的博客 913

HDU 3065 病毒侵袭持续中(AC自动机)

<br />/* FileName: 3065.cpp Author: ACb0y Date: 2010年12月30日12:45:12 Type: AC自动机 ProblemID: HDU 3065 病毒侵袭持续中 Result: 3372006 2010-12-30 12:41:42 Accepted 3065 281MS 16760K 2218 B G++ ACb0y */ #include <iostream> #include <queue> using name

个人独立博客http://www.acb0y.cn/ 1123

HDU - 3065 病毒侵袭持续中

小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包含多少不同的病毒,每种病毒出现了多少次。大家...

yhb的博客 217

HDU3065 病毒侵袭持续中【AC自动机】

HDU3065 病毒侵袭持续中 Problem Description 小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,...

Dream_maker的博客 273

病毒侵袭持续中 hdu3065

题目链接 这道题与hdu2222类似 #include&lt;stdio.h&gt; #include&lt;iostream&gt; #include&lt;algorithm&gt; #include&lt;math.h&gt; #include&lt;new&gt; #include&lt;queue&gt; #include&lt;string.h&gt; #include&lt;

qq_41006240的博客 137

HDU 3065:病毒侵袭持续中

AC自动机入门题

温姑娘的博客 325

病毒侵袭持续中(HDU-3065)

Problem Description 小t非常感谢大家帮忙解决了他的上一个问题。然而病毒侵袭持续中。在小t的不懈努力下,他发现了网路中的“万恶之源”。这是一个庞大的病毒网站,他有着好多好多的病毒,但是这个网站包含的病毒很奇怪,这些病毒的特征码很短,而且只包含“英文大写字符”。当然小t好想好想为民除害,但是小t从来不打没有准备的战争。知己知彼,百战不殆,小t首先要做的是知道这个病毒网站特征:包...

Alex_McAvoy的博客 717
上一篇: hdu2222 Keywords Search
下一篇: hdu2896 病毒侵袭
magicnumber
博客等级 码龄18年 119粉丝 196原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值