1966: [Ahoi2005]VIRUS 病毒检测
来源:互联网 发布:nodejs cms系统 编辑:程序博客网 时间:2024/04/30 18:06
题目链接
题目大意:判断模板串和给出的其他串中不能匹配的数目,模板串中可能出现’?’可以匹配1个任意字符,’*’可以匹配0–INF个任意字符
题解:AC自动机?正则表达式?
暴力,暴力!用时在bzoj上排倒数……
去题解膜了一发暴力2,跑的飞快……
我的收获:大力暴力
暴力1
#include <iostream>#include <cstring>#include <cstdio>using namespace std; int n,ans,len1,len2;int vis[1005][505];bool f[1005][505];char T[1005],s[505]; bool dfs(int la,int lb){ if(la==len1&&lb==len2) return true; if(la>len1||lb>len2) return false; if(vis[la][lb]!=-1) return f[la][lb]; if(T[la]==s[lb]) f[la][lb]=dfs(la+1,lb+1); else if(T[la]=='?') f[la][lb]=dfs(la+1,lb+1); else if(T[la]=='*') f[la][lb]=dfs(la,lb+1)||dfs(la+1,lb); else f[la][lb]=0; vis[la][lb]=1; return f[la][lb];} void init(){ scanf("%s",T);len1=strlen(T); cin>>n; for(int i=1;i<=n;i++){ scanf("%s",s);len2=strlen(s); memset(vis,-1,sizeof(vis)); memset(f,0,sizeof(f)); ans+=!dfs(0,0); } cout<<ans<<endl;} int main(){ init(); return 0;}
跑的飞快的暴力2
#include<iostream>#include<string>#include<cstdio>#include<cmath>#include<iomanip>using namespace std;string bingdu;string rna;int ilen,jlen,ans=0;int spare[1002];bool judge(int i,int j){ if(i==ilen&&j==jlen) return true; if(i==ilen&&j<jlen) return false; if(bingdu[i]=='?') return judge(i+1,j+1); if(bingdu[i]!='*') { if(bingdu[i]==rna[j]) return judge(i+1,j+1); return false; } for(int k=0;j+spare[i]+k<=jlen;k++) { if(judge(i+1,j+k)==true) return true; } return false;}int main(){ cin>>bingdu; int n; cin>>n; ilen=bingdu.length(); spare[ilen]=0; for(int i=ilen-1;i>=0;i--) { spare[i]=spare[i+1]; if(bingdu[i]!='*') spare[i]=spare[i]+1; } for(int i=1;i<=n;i++) { cin>>rna; jlen=rna.length(); if(judge(0,0)==false) ans++; } cout<<ans; return 0;}
阅读全文
0 0
- 1966: [Ahoi2005]VIRUS 病毒检测
- 1966: [Ahoi2005]VIRUS 病毒检测
- 【bzoj 1966】: [Ahoi2005]VIRUS 病毒检测
- [BZOJ]1966: [Ahoi2005]VIRUS 病毒检测 DP
- bzoj 1966: [Ahoi2005]VIRUS 病毒检测
- bzoj 1966: [Ahoi2005]VIRUS 病毒检测
- 洛谷P2536 [AHOI2005]病毒检测
- 拓扑排序 病毒virus
- 病毒 Virus.Win32.Autorun修改系统时间
- 病毒变异 mutation of the virus
- eMule Virus,电驴 相关的 病毒
- Virus
- virus
- virus
- ARP病毒传播Virus.Win32.AutoRun.bx,Virus.Win32.AutoRun.bv
- ARP病毒传播Virus.Win32.AutoRun.bx,Virus.Win32.AutoRun.bv
- Virus.Win32.Induc.a 感染型病毒分析
- virus.win32.parite.H病毒的查杀方法
- EChart tooltip formatter使用
- 无法找到 PInvoke DLL“SQLite.Interop.063.DLL”。
- linux sed命令详解
- myeclipse Maven 创建主工程
- Objective-C 里的 Alloc 和 AllocWithZone的区别
- 1966: [Ahoi2005]VIRUS 病毒检测
- Java的快速排序
- oracle三大范式
- 最近很浮躁啊!!!
- 整理的300多个User-Agent,拿去玩
- jQuery实现图片卡片层叠式切换效果
- 根据webservice地址生成java源码
- golang 模拟文件上传
- java简单查找回顾