V
主页
【算法进阶】【字符串-AC自动机】AC自动机算法原理及实现精讲+代码 - 信息学奥赛
发布人
干脆给个习题的代码 #include<bits/stdc++.h> using namespace std;const int MOD=1e9+7; int len,m,cnt,ch[1502][12],u,fail[1502],idx,v; string n,s;bool ed[1502];queue<int> q;int dp[1202][2][1502][2]; inline void insert(const string s){ u=0; for(char c:s){ if(!ch[u][c-'0'])ch[u][c-'0']=++cnt; u=ch[u][c-'0']; } ed[u]=1; } inline void build(){ for(int i=0;i<=9;i++)if(ch[0][i])q.push(ch[0][i]); while(!q.empty()){ u=q.front(),q.pop(); for(int i=0;i<=9;i++){ idx=ch[u][i]; if(idx)fail[idx]=ch[fail[u]][i], ed[idx]|=ed[fail[idx]],q.push(idx); else ch[u][i]=ch[fail[u]][i]; } } } inline int dfs(int k,bool limit,int u,bool lead){ if(ed[u])return 0; if(dp[k][limit][u][lead]!=-1)return dp[k][limit][u][lead]; if(k>len)return !lead; int up=(limit?n[k]-'0':9),ans=0; for(int i=0;i<=up;i++)ans=(ans+dfs(k+1, limit&&(i==up),(lead&&!i?0:ch[u][i]),lead&&!i))%MOD; return dp[k][limit][u][lead]=ans; } int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>m,len=n.size(),n=" "+n; while(m--)cin>>s,insert(s); build(),memset(dp,-1,sizeof(dp)); return cout<<dfs(1,1,0,1)<<"\n",0; } 和模板还是有些差别,比如统计答案,这个题只是判断是否相同
打开封面
下载高清视频
观看高清视频
视频下载器
【算法进阶】【字符串-KMP算法】字符串匹配经典算法,图例讲解,AC自动机的基础!P3375 【模板】KMP字符串匹配 - 信息学奥赛
【算法进阶】【动态规划进阶技巧(一)】动态规划较难技巧讲解-信息学竞赛
学会这8个模式可以解决80%的Leetcode问题
【全548集】字节大佬终于把Python做成了动画片,通俗易懂,2024最新版!学完即就业!拿走不谢,学不会我退出IT圈!
【从放弃到精通】B站讲的最好的卡尔曼滤波器-目标追踪课程,目标追踪—计算机博士精讲卡尔曼滤波算法教程,从理论到实战,不再走弯路!(matlab_卡尔曼滤波原理)
图的邻接矩阵-代码实现 数据结构与算法
算法突击训练营
【算法进阶】【动态规划-8概率与期望动态规划】dp,永远的噩梦?并不是!代码最短的dp题!CF235B Let's Play Osu!-信息学竞赛
【算法进阶】【动态规划-4区间与环形动态规划】区间与环形动态规划,破环成链,P1775 石子合并(弱化版) P4170 涂色 P1880 石子合并 -信息学奥赛
【算法进阶】【动态规划百练】会这一题,区间dp就掌握了!CF1771D Hossam and (sub-)palindromic tree - 信息学奥赛
【算法进阶】【树链剖分】树链剖分(重链剖分)精讲-信息学竞赛
未来3-5年程序员千万别碰这几种编程语言:Java/python/golang/C/C++/C#/AI/大数据/测试/运维/游戏/区块链马士兵一个视频讲透!
黑客教你如何提取对象微信聊天记录
【算法进阶】【动态RMQ/杂题选讲】动态RMQ/P1198 [JSOI2008] 最大数 精讲+代码 - 信息学奥赛
ECCV'24 Oral开源高赞 | 无需优化,MVSplat两张图实现高质量3DGS重建
【算法进阶】【数据结构-树状数组】树状数组及二维树状数组讲解-信息学竞赛
清华大学算协暑期培训 2024 第十一讲:AC自动机&Manacher
【算法进阶】【字符串-哈希算法】哈希算法、哈希加密算法及哈希例题讲解-信息学竞赛
【算法强化】【AC自动机的应用】AC自动机与动态规划题目详解-信息学竞赛
【算法进阶】【高级数据结构-替罪羊树】平衡树解法之一替罪羊树讲解-信息学竞赛
【算法进阶】【反悔贪心】反悔贪心及例题CF865D Buy Low Sell High讲解-信息学竞赛
【算法进阶】【点分治】图解点分治模板及例题讲解-信息学竞赛
图的邻接链表 代码实现 数据结构与算法
强推!导师放养SCI论文发到手软!研究生手把手带你亲历SCI论文,从基本套路讲解和手把手实操演示【SCI论文写作】(人工智能/计算机视觉)
【算法进阶】【数据结构——扫描线】扫描线与数据结构的结合-信息学竞赛
EXCEL如何把数字从字符串中提取出来?5种常用提取数字方法。
非常有用的Python字符串格式化技巧
【算法进阶】【分块算法】分块实战,loj.ac6277~6281 数列分块入门1~5 - 信息学竞赛
一个非常变态,但可以让你快速学会C++的方法!
【算法进阶】【带权并查集/并查集复习】最后一次学习简单并查集!学不会以后各种算法都听不懂! - 信息学竞赛
【暑假强推】2024最细自学Python全套教程!允许白嫖,拿走不谢,全程干货无废话!逼自己一个月学完,从0基础小白到编程大佬只要这套就够了!
【全600集】强推!2024最全最细的Python零基础全套教程,手把手教学,全程干货无废话!学完从小白进阶Python编程大佬!这还学不会,我退出IT圈!
图的数据结构-邻接矩阵法,有向图,无向图的存储方法
【算法进阶】【虚树】虚树的建立与简单应用-信息学竞赛
【算法进阶】【贪心-过河问题】更复杂的贪心,过河问题情况详解-信息学竞赛
【算法进阶】【严格次小生成树】Kruskal最小生成树+树上倍增详解-信息学竞赛
【算法进阶】【动态规划-5树形动态规划】树形dp例题精讲、杂题泛讲-信息学竞赛
【算法进阶】【拉格朗日插值】拉格朗日插值,解决多点确定函数问题-信息学竞赛
2025高考政治90➕,方法对了,事半功倍,扎实提升,实现目标,本科研究生双985,十六年高考政治教学名师助你高考必胜!赢在2025!——郑关飞
【算法进阶】【简单线段树题目】线段树简单练习题P2787 语文1(chin1)- 理理思维-信息学竞赛