哈理工OJ—1309入侵检测(字符串处--剪枝)
来源:互联网 发布:知乎怎么发帖子 编辑:程序博客网 时间:2024/05/17 09:10
入侵检测
Time Limit: 1000 MS Memory Limit: 32767 K
Total Submit: 514(158 users) Total Accepted: 190(129 users) Rating: Special Judge: No
Description
入侵检测(Intrusion Detection)是对入侵行为的检测。它通过收集和分析网络行为、安全日志、审计数据、其它网络上可以获得的信息以及计算机系统中若干关键点的信息,检查网络或系统中是否存在违反安全策略的行为和被攻击的迹象。入侵检测作为一种积极主动地安全防护技术,提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。因此被认为是防火墙之后的第二道安全闸门,在不影响网络性能的情况下能对网络进行监测。入侵检测通过执行以下任务来实现:监视、分析用户及系统活动;系统构造和弱点的审计;识别反映已知进攻的活动模式并向相关人士报警;异常行为模式的统计分析;评估重要系统和数据文件的完整性;操作系统的审计跟踪管理,并识别用户违反安全策略的行为。
其中特征检测(Signature-based detection) 又称Misuse detection ,假设入侵者活动可以用一种模式来表示,系统的目标是检测主体活动是否符合这些模式。它可以将已有的入侵方法检查出来。
现在给出主体活动和一个入侵者活动,判断改主体活动是否包含该入侵者活动。
Input
每行两个字符串,表示主体活动和入侵者活动,主体活动串不长与200000,入侵者活动串不长于2000
Output
如果主体活动包含入侵活动,输出”yes”,否则输出”no”,并换行。
Sample Input
abcdefg
abcd
abcde
bcdef
Sample Output
yes
no
教你小小的剪枝一下吧。
字符串朴素匹配的时候不光要看首字母而且要看末字母,这样子你的数据卡的就比较到位了。
下面是AC代码:
#include<cstdio>#include<string.h>#include<algorithm>using namespace std;char str1[200005],str2[2005];int judge(int i,int j){ int ss=0; for(int k=i;k<i+j;k++) { if(str1[k]==str2[ss]) { ss++; } else { return 0; } } return 1;}int main(){ while(~scanf("%s %s",str1,str2)) { int le1=strlen(str1); int le2=strlen(str2); int flag=0; for(int i=0;i<le1;i++) { if(str1[i]==str2[0]&&str1[i+le2-1]==str2[le2-1]) { flag=judge(i,le2); } if(flag==1) { break; } } if(flag==1) { printf("yes\n"); } else { printf("no\n"); } } return 0;}
- 哈理工OJ—1309入侵检测(字符串处--剪枝)
- 哈理工OJ 1309 入侵检测【kmp匹配】【模板记录】
- hrbust 2115,哈理工oj 2115 Equal【dfs+剪枝】
- 哈理工OJ 1847 擦除字符串(状压DP)
- 哈理工OJ—1013 Eqs(数学怪题)
- 哈理工OJ 1569 比赛排名(排序和字符串处理)
- 哈理工OJ 2304 Julyed(水题)
- 山东理工OJ 1201 字符串排序
- 哈理工OJ 1341 Who will be punished(字符操作,找只出现一次的字符串是哪个)
- 哈理工OJ 2179(深搜)
- 哈理工 oj 1161 Leyni
- 哈理工OJ 1692【水题】
- 哈理工oj 2317 Game
- 哈理工oj 2002 幂集
- Time(山东理工OJ)
- 哈理工OJ 1909 理工门外的树(思维题目)
- 哈理工OJ 1864 猥琐宅男——koko(dp)
- 哈理工OJ 2238—围巾的纠结(并查集判环)
- web前端基础教程:常用标签meta的总结
- java MVC模式
- mailto: HTML e-mail 链接
- java 实现QQ自动登录(带验证码)
- window下安装scala 环境
- 哈理工OJ—1309入侵检测(字符串处--剪枝)
- linux 中 alias 命令用法
- Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition)-A. Little Artem and Presents(模拟)
- 反向探测>病毒虚拟机"特征"
- Qt简单编程--状态栏(2)
- iOS 开源项目list
- 【AKOJ】1298-B趣味求和
- 江南带你从源码教你解析Volley
- Android 使用颜色矩阵改变图片颜色,透明度,亮度