Description 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地.科学家们经过几个昼夜的研究,发现这些RNA片段中有许多是未知的病毒!每个RNA片段都是由A.C.T.G组成的序列.科学家们也总结出了Samuel星球上的“病毒模版片段”.一个模版片段是由A.C.T.G的序列加上通配符 * 和 ? 来表示.其中 * 的意思是可以匹配上0个或任意多个字符,而 ? 的意思是…
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1966 题意概括 现在有一些串和一个病毒模板.让你统计非病毒串的总数.串个数<=500. 串由'A' 'C' 'G' 'T'构成,长度<=500. 病毒模板(长度<=1000)较为复杂,由'A' 'C' 'G' 'T' '*' '?'组成.其中'A' 'C' 'G' 'T'没有特异功能.但是'*' 和 '?'有特意功能: '*':在这里可以填充任意长度的任意串(由A,C,G,T组成,长度可…
Description 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地.科学家们经过几个昼夜的研究,发现这些RNA片段中有许多是未知的病毒!每个RNA片段都是由A.C.T.G组成的序列.科学家们也总结出了Samuel星球上的“病毒模版片段”.一个模版片段是由A.C.T.G的序列加上通配符 * 和 ? 来表示.其中 * 的意思是可以匹配上0个或任意多个字符,而 ? 的意思是…
Description 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地.科学家们经过几个昼夜的研究,发现这些RNA片段中有许多是未知的病毒!每个RNA片段都是由A.C.T.G组成的序列.科学家们也总结出了Samuel星球上的“病毒模版片段”.一个模版片段是由A.C.T.G的序列加上通配符 * 和 ? 来表示.其中 * 的意思是可以匹配上0个或任意多个字符,而 ? 的意思是…
http://www.lydsy.com/JudgeOnline/problem.php?id=1966 f[i][j] 表示s的前i个和t的前j个是否匹配 转移看代码 注意初始化: f[0][0]=true f[i][0]=true  s[1,i]='*' 如果没有第二个,反例: ***A A f[4][1]=f[3][0] #include<cstdio> #include<cstring> using namespace std; #define N 1001 #define…
题目描述 科学家们在Samuel星球上的探险仍在继续.非常幸运的,在Samuel星球的南极附近,探险机器人发现了一个巨大的冰湖!机器人在这个冰湖中搜集到了许多RNA片段运回了实验基地. 科学家们经过几个昼夜的研究,发现这些RNA片段中有许多是未知的病毒! 每个RNA片段都是由A.C.T.G组成的序列.科学家们也总结出了Samuel星球上的“病毒模版片段”.一个模版片段是由A.C.T.G的序列加上通配符 和 ? 来表示.其中 的意思是可以匹配上0个或任意多个字符,而 ? 的意思是匹配上任意一个字母…
[BZOJ1966][AHOI2005]病毒检测(动态规划) 题面 BZOJ 洛谷 题解 我就蒯了一份代码随便改了改怎么就过了??? 从这道题目蒯的 代码: #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cmath> #include<algorithm> using namespace std; #define MAX…
话题 3: 基于深度学习的二进制恶意样本检测 分享主题:全球正在经历一场由科技驱动的数字化转型,传统技术已经不能适应病毒数量飞速增长的发展态势.而基于沙箱的检测方案无法满足 APT 攻击的检测需求,也受到多种反沙箱技术的干扰.在充分考察过各种技术方案的优劣后,瀚思科技开发出了基于深度学习的二进制病毒样本检测技术,可以做到沙箱同等水平的 99% 的检测准确率,而误报率低于 1/1000.基于深度学习的病毒检测技术无需沙箱环境,直接将样本文件转换为二维图片,进而应用改造后的卷积神经网络 Incept…
传送门 我也没想到map如此垃圾,bitset优秀啊 直接trie树上搜索就好了 代码: #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<bitset> #include<queue> using namespace std; void read(int &x) { char ch; bool ok; for(…
\(Trie\) 树+搜索 我用的是\(dfs\) 首先对于将所有的RNA片段都建到\(Trie\)树里去,之后来匹配那个模板串就好了 如果是匹配的位置是字母,那么我们就继续往下匹配 如果是\(?\),我们必须要略过\(Trie\)树上的一位去匹配 如果是\(*\),我们可以先考虑直接忽略这一位,也可以直接把这一位当成\(?\)来看,或者是在\(Trie\)树上略过一位,但是在模板串上的匹配仍为当前位置,这样就能实现在\(Trie\)树上忽略多位进行匹配了 一旦某一位匹配成功了,我们如果还有状态…