2015 多校联赛 ——HDU5384(AC自动机)

网站SEO诊断自查清单:从技术配置到内容优化的完整指南 搜索引擎优化是提升网站在搜索结果中可见性的系统工程,核心在于确保页面能够被有效抓取、正确索引并满足用户搜索意图。通过系统化的技术诊断,如检查robots协议、站点地图、URL规范性与页面性能,能够及时发现阻碍收录与排名的隐形问题。同时,内容质量与关键词策略、内部链接结构及外链生态同样影响权重传递与排名表现。对于电商、资讯或企业官网等各类站点,定期开展全方位SEO体检,能够精准定位低效页面,优化资源配置,避免盲目调整。本文整理了一份实用的网站SEO诊断自查清单,从技术配置到内容优化,再到行为数据验证,帮助运营 阅读详情

Sample Input
1 5 6 orz sto kirigiri danganronpa ooooo o kyouko dangan ronpa ooooo ooooo
 

Sample Output
1 1 0 3 7
 

题意:给n个母串,给m个匹配串,求每个母串依次和匹配串匹配,能得到的数目和

开始用KMP超时了,突然看见AC,把模板改一下就过了- -


#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
#define N 500010
char str[10010], keyword[10005];
char l[100005][10005];
int head, tail;

struct node
{
    node *fail;
    node *next[26];
    int count;
    node() //init
    {
        fail = NULL;
        count = 0;
        for(int i = 0; i < 26; ++i)
            next[i] = NULL;
    }
}*q[N];
node *root;

void insert(char *str) //建立Trie
{
    int temp, len;
    node *p = root;
    len = strlen(str);
    for(int i = 0; i < len; ++i)
    {
        temp = str[i] - 'a';
        if(p->next[temp] == NULL)
            p->next[temp] = new node();
        p = p->next[temp];
    }
    p->count++;
}

void build_ac() 
{
    q[tail++] = root;
    while(head != tail)
    {
        node *p = q[head++]; 
        node *temp = NULL;
        for(int i = 0; i < 26; ++i)
        {
            if(p->next[i] != NULL)
            {
                if(p == root) 
                    p->next[i]->fail = root;
                else
                {
                    temp = p->fail;
                    while(temp != NULL) 
                    {
                        if(temp->next[i] != NULL) 
                        {
                            p->next[i]->fail = temp->next[i];
                            break;
                        }
                        temp = temp->fail;
                    }
                    if(temp == NULL) 
                        p->next[i]->fail = root;
                }
                q[tail++] = p->next[i]; //入队
            }
        }
    }
}

int query() 
{
    int index, len, result;
    node *p = root; //Tire入口
    result = 0;
    len = strlen(str);
    for(int i = 0; i < len; ++i)
    {
        index = str[i] - 'a';
        while(p->next[index] == NULL && p != root) 
            p = p->fail;
        p = p->next[index];
        if(p == NULL)
            p = root;
        node *temp = p;
        while(temp != root && temp->count != -1)
        {
            result += temp->count;
            //temp->count = -1;
            temp = temp->fail;
        }
    }
    return result;
}

int main()
{
    int ncase, num,n;
    scanf("%d", &ncase);
    while(ncase--)
    {
        head= tail = 0;
        root = new node();
        scanf("%d%d", &n,&num);
        getchar();
        for(int i = 1;i <= n;i++)
            gets(l[i]);
        for(int i = 0; i < num; ++i)
        {
            gets(keyword);
            insert(keyword);
        }
        build_ac();
        for(int i = 1; i <= n; i++)
        {
            memccpy(str,l[i],0,sizeof(l[i]));
            //build_ac();
            printf("%d\n", query());
        }
    }
    return 0;
}








2015 多校联赛 ——HDU5299(树删边) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 593    Accepted Submission(s): 164 Problem Description There are n circles on 阅读详情

相关推荐

Keil MDK下载报错:Flash Download failed终极解决指南(附固件恢复步骤)

本文针对Keil MDK开发中常见的“Error: Flash Download failed”报错,提供了从基础连接到深度诊断的系统性解决指南。文章详细解析了错误成因,并重点介绍了当常规SWD调试失效时,如何通过Bootloader模式和ISP模式(特别是UART Bootloader)恢复“变砖”芯片的完整实战步骤,帮助开发者彻底解决固件下载难题。

weixin_29196613的博客 814

2017多校第6场 HDU 6096 String AC自动机

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6096 题意:给了一些模式串,然后再给出一些文本串的不想交的前后缀,问文本串在模式串的出现次数。 解法: 因为要求前缀后缀都包含的个数,所以可以把字符串a转换成a#a这样一个字符串,比如abca就转换成abca#abca 然后对于一组前缀a后缀b转换成b{a,比如ab ca,就是ca{...

aishangg437965的博客 132

Calibre PEX提参实战:如何用hcell和xcell文件精准屏蔽模块(附避坑指南)

本文深入解析Calibre PEX工具中hcell与xcell文件的协同工作机制,提供模块级寄生参数提取方案。通过实战案例和避坑指南,帮助工程师精准屏蔽已验证IP模块,提升仿真效率和数据一致性,适用于65nm以下工艺节点的复杂SoC设计。

weixin_29275257的博客 625

AC自动机 - 多模式串的匹配运用 --- HDU 2896

病毒侵袭 Problem's Link:http://acm.hdu.edu.cn/showproblem.php?pid=2896   Mean:   略 analyse: AC自动机的运用,多模式串匹配。就是有几个细节要注意,在这些细节上卡了半天了。 1)输出的网站编号和最终的病毒网站数不是一样的; 2)next指针要设128,不然会爆栈; 3)同理,char转换为int...

weixin_33686714的博客 161

双目立体成像(一)双目图片生成点云

利用左右目图片生成点云

qq_62964142的博客 4549

huggingface使用git上传model或者Dataset到HF,当然也可以上传代码,以及大文件,很哇塞!!!

huggingface使用git上传model或者Dataset到HF,当然也可以上传代码,以及大文件,很哇塞!!! 第一次使用时,需要使用设置系统全局的huggingface token,这。点击huggingface首页右上角的头像 → settings → access tokens,创建一个write权限的token,名字可以随便取。

拥抱具身智能,昇腾Ascend C 3104

hdu5384-多校 ac自动机

先读匹配串,后读模板串,所以需要先把之前的存下来,用char存的方法就是开一个长一些的char,存到同一个字符串里面,具体看代码,然后是可以重复匹配的 #include #include #include #include #include using namespace std; const int MAX=100005; struct Trie { int

lanxuan365的专栏 469

【24E】SWT6652 wifi驱动加载失败问题分析及解决方案

修改驱动配置Kconfig。是由于内存分配失败导致。

wgl307293845的博客 219

AC自动机

AC自动机 AC自动机        算法目的:        AC自动机主要用于解决多模式串的匹配问题,是字典树(trie树)的变种,一种伪树形结构(主体是树形的,但是由于加入了失败指针,使得它变成了一个有向图);trie图(我的理解^_^)是对AC自动机的一种改造,使得图中每个结点都有MAXC条出边(MAXC表示该图的字符集合大小), trie图上的每个结点代表一个状态,并且和AC自

chen1234com的专栏 654

802.11be 的“上帝视角”:深入解析 CSI 技术原理与实现

IEEE 802.11be标准下的CSI技术解析 摘要:本文深入解析了802.11be标准中的信道状态信息(CSI)技术。CSI作为无线通信的"高精度地图",通过显式反馈机制获取信道矩阵H,经SVD分解得到预编码矩阵V。802.11be在CSI反馈机制上实现重大改进:支持320MHz带宽、16空间流;引入灵活的子载波分组(Ng=4/16)、更高量化精度(最高9/7比特)、部分带宽反馈和触发式反馈。这些创新显著提升了MU-MIMO和波束成形性能,为Wi-Fi 7带来极速通信、精准感知和Me

1042484520@qq.com(邮箱) 209

PyTorch深度学习实战(29)——变分自编码器(Variational Autoencoder, VAE)

变分自编码器 (Variational Autoencoder, VAE) 是一种结合了自编码器和概率建模的生成模型,通过编码器将输入数据映射到潜在空间中的概率分布,并通过解码器将从潜在空间采样得到的潜在变量映射回原始数据空间,实现了数据的生成和特征学习。

盼小辉丶的博客 1万+

AC自动机模板(多模式匹配)

AC自动机不难,主要是懂了字典树,那么就在这上面加了个失配指针而已,再通过失配指针去匹配这样就可以想kmp那样子不用每次都要回溯了。。这里有位大佬讲的还行——》https://blog.youkuaiyun.com/creatorx/article/details/71100840 模板题——》hdu-2222 代码: #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h&gt

he_qingjun的博客 151

SAP 调用Ftp服务器

FTP(File transfer protocol)是一种标准的网络协议,可以用于在互联网上传递文件。SAP系统中可通过系列配置和提供的些标准函数,用于查看、更新、下载FTP服务器上的文件。提示:以下是本篇文章正文内容,下面案例可供参考。

qq_38304013的博客 1417

hdu2222 AC自动机多模匹配 || 字典树

Keywords Search Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 74174 Accepted Submission(s): 25499 Problem Description In the modern ...

Dave_lzw的博客 432

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

hdu 5533(几何水)

Input The first line contains a integer T indicating the total number of test cases. Each test case begins with an integer n, denoting the number of stars in the sky. Following n lines, each

阳光下的泡沫 2190

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hdu 5534(dp)

Input The first line contains an integer T indicating the total number of test cases. Each test case starts with an integer n in one line, then one line with n−1 integers f(1),f(2),…,f(n−1).

阳光下的泡沫 1399

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

hdu 5532(最长上升子序列)

Input The first line contains an integer T indicating the total number of test cases. Each test case starts with an integer n in one line, then one line with n integers a1,a2,…,an. 1≤T≤2000

阳光下的泡沫 1343

*hdu 5536(字典树的运用)

Input The first line of input contains an integer T indicating the total number of test cases. The first line of each test case is an integer n, indicating the number of chips produced today

阳光下的泡沫 1190

hdu 5538(水)

Input The first line contains an integer T indicating the total number of test cases. First line of each test case is a line with two integers n,m. The n lines that follow describe the array

阳光下的泡沫 1088

hdu 5489(LIS最长上升子序列)

题意:一个含有n个元素的数组,删去k个连续数后,最长上升子序列        /*思路参考GoZy 思路: 4 2 3 [5 7 8] 9 11 ,括号表示要删掉的数, 所以  最长上升子序列  =   ] 右边数A的lis + [左边最大值小于A的lis  即相当于枚举删除的所有情况,并求它们的LIS,取最大值 如本例 : 最长 = 2[ 9 11]  + 2[2 3],  然后将框从左

阳光下的泡沫 1030

hdu 5446(中国剩余+lucas+按位乘)

题意:c( n, m)%M    M = P1 * P2 * ......* Pk Lucas定理是用来求 c(n,m) mod p,p为素数的值。得出一个存余数数组,在结合中国剩余定理求值 其中有个地方乘积可能超范围,所以按位乘(数论方面薄弱啊,学习学习)。 #include #include #include #include #include using namesp

阳光下的泡沫 941

2015 多校联赛 ——HDU5334(构造)

Virtual Participation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 237    Accepted Submission(s): 56 Special Judge Problem Descripti

阳光下的泡沫 844

hihocoder1258(水)(2015ACM/ICPC北京站)

题意: 给你B,C,S三种模式,当出现S时直接得分最多300(即perfect) 当是B,C时后面会跟一个数字,当后面的数字是从1开始的连续时,直接得分最多300(即perfect) 问给你一系列,最多能得到多少个pefect 思路: 当出现S时直接+,当出现B或者C时,判断它们后面是否有1,有则+ 做的时间想复杂了- - #include #include #i

阳光下的泡沫 810

2015 多校联赛 ——HDU5302(矩阵快速幂)

The Goddess Of The Moon Sample Input 2 10 50 12 1213 1212 1313231 12312413 12312 4123 1231 3 131 5 50 121 123 213 132 321   Sample Output 86814837 797922656 题意:给你n个

阳光下的泡沫 793

hdu 5130(2014广州 圆与多边形相交模板)

题意:一个很多个点p构成的多边形,pb 设p(x,y),       (x - xb)^2+(y - yb)^2 / (x - xa)^2+(y - ya)^2  = k^2 所以可以化成圆的一般式x^2 + y^2 + dx + ey + f = 0; 推公式: 圆心:(-d/2,-e/2)       半径:(sqrt(d*d + e*e - 4*f)) / 2 得出圆后,套模板求

阳光下的泡沫 768
上一篇: 2015 多校联赛 ——HDU5371(manacher + 枚举)
下一篇: 2015 多校联赛 ——HDU5386(暴力)
Tyuio28
博客等级 码龄11年 12粉丝 279原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值