CSU 1120 病毒

Time Limit: 3 Sec Memory Limit: 128 MB
Submit: 971 Solved: 412

Description

你有一个日志文件,里面记录着各种系统事件的详细信息。自然的,事件的时间戳按照严格递增顺序排列(不会有两个事件在完全相同的时刻发生)。

遗憾的是,你的系统被病毒感染了,日志文件中混入了病毒生成的随机伪事件(但真实事件的相对顺序保持不变)。备份的日志文件也被感染了,但由于病毒采用的随机感染方法,主日志文件和备份日志文件在感染后可能会变得不一样。

给出被感染的主日志和备份日志,求真实事件序列的最长可能长度。

Input

输入第一行为数据组数T (T<=100)。每组数据包含两行,分别描述感染后的主日志和备份日志。

每个日志文件的格式相同,均为一个整数n (1<=n<=1000)(代表感染后的事件总数)和n 个不超过100,000的正整数(表示感染后各事件的时间戳)。

注意,感染后可能会出现时间戳完全相同的事件。

Output

对于每组数据,输出真实事件序列的最长可能长度。

Sample Input

1
9 1 4 2 6 3 8 5 9 1
6 2 7 6 3 5 1

Sample Output

3

#include <iostream>
#include <cstdio>
#include <cstring>using namespace std;const int MAX_NUM = 1000 + 5;
int f[MAX_NUM][MAX_NUM];
int dp[MAX_NUM];int gcis(int a[], int la, int b[], int lb, int ans[]) {int i, j, k, mx;memset(f, 0, sizeof(f));memset(dp, 0, sizeof(dp));for(i = 1; i <= la; i++) {memcpy(f[i], f[i - 1], sizeof(f[0]));for(k = 0, j = 1; j <= lb; j++) {if(b[j - 1] < a[i - 1] && dp[j] > dp[k]) {k = j;}if(b[j - 1] == a[i - 1] && dp[k] + 1 > dp[j]) {dp[j] = dp[k] + 1,f[i][j] = i * (lb + 1) + k;}}}for(mx = 0, i = 1; i <= lb; i++) {if(dp[i] > dp[mx]) {mx = i;}}for(i = la * lb + la + mx, j = dp[mx]; j; i = f[i/(lb + 1)][i % (lb + 1)], j--) {ans[j - 1] = b[i % (lb + 1) - 1];}return dp[mx];
}int main() {int T;cin >> T;while(T--) {int n;cin >> n;int a[MAX_NUM];int b[MAX_NUM];for(int i = 0; i < n; i++) {cin >> a[i];}int m;cin >> m;for(int i = 0; i < m; i++) {cin >> b[i];}int ans[MAX_NUM];cout << gcis(a, n, b, m, ans) << endl;}return 0;
}

CSU 1120 病毒相关推荐

  1. Natas 幽灵王病毒分析

    NATAS幽灵病毒之所以称之为幽灵病毒就是因为病毒感染文件时,不同时刻感染同一文件,感染后的文件不会出现连续3个字节相同. 原理就是病毒编程者使用了丢骰子的方式产生随机数对病毒程序进行加密,并且将AX ...

  2. linux病毒木马分析,Linux平台“盖茨木马”分析

    最近对Linux.BackDoor.Gates.6的一个病毒样本进行了分析,通过调查发现Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马.这篇文章主要介绍了Linux ...

  3. python病毒扫描器_基于Python的病毒扫描机制

    构建集中式病毒扫描机制(ClamAV) Clam AntiVirus(ClamAV)是一款免费而且开源的防毒软件,软件与病毒库的更新皆有社区免费发布,官网地址:http://www.clamav.ne ...

  4. 病毒的灵魂拷问(绝对原创)

    哈哈哈,我敢说,这篇博客绝不会有重复的,因为它是我上课的走神之作,哈哈哈! 不废话,上代码: import java.util.Scanner; import java.util.*; public ...

  5. 一次被僵尸网络病毒攻击的过程

    事件背景 回想起来应该算是去年的事情了, 时值 2019 年 1 月 24 日早上, 当时我正忙碌于开发手头的一个珠宝分销系统项目, 由于已经进行了多日封闭式开发, 项目初见效果, 准备放到内网服务器 ...

  6. HDU 2896 病毒侵袭 AC自己主动机题解

    本题是在text里面查找key word的增强版.由于这里有多个text. 那么就不能够简单把Trie的叶子标志记录改动成-1进行加速了,能够使用其它技术.我直接使用个vis数组记录已经訪问过的节点, ...

  7. 为什么一定要杀掉病毒?---帮一位老师解决MyDocument.exe优盘文件夹图标病毒问题...

    最近一位大学老师给我抱怨了一个她遇到的烦恼,一直在纠结,生活都被打乱了,事情大概是这样的: 她的优盘里辛辛苦苦弄好备课文件,放在了优盘里,可是每次上课时,就是找不到文件.有时好多文件都被修改了,非常烦 ...

  8. Cisco交换机解决网络蠕虫病毒***问题

    Cisco交换机解决网络蠕虫病毒***问题          今年来网络蠕虫泛滥给ISP和企业都造成了巨大损失,截至目前已发现近百万种病毒及***.受感染的网络基础设施遭到破坏,以Sql Slamme ...

  9. Win32.Lioten.SG病毒

    病毒名称:Win32.Lioten.SG 疯狂性:低 破坏性:中 普及度:中 Win32.Lioten.SG病毒描述: Win32.Lioten.SG是一种通过网络共享传播的蠕虫,还会利用Window ...

最新文章

  1. Golang gRPC实践 连载六 内置Trace
  2. OpenCV油画效果
  3. Redis添加主节点
  4. java面试题十五 for循环一个题目
  5. [Leetcode][第1143题][JAVA][最长公共子序列][LCS][动态规划]
  6. SQL---------表的约束
  7. VB获取超过2G文件的大小
  8. Eclipse启动项目报启动上下文失败问题解决方案总结
  9. 在RT-Thread上移植EtherCAT开源主站SOEM1.4.0
  10. 摄像机标定原理与操作
  11. html文件里面的中文乱码
  12. matlab显示数据类型,MATLAB查看数据类型
  13. 顺风车这么难搞,滴滴为何从不放弃?
  14. 一个懒鬼胡乱写的多解
  15. 安装.net补丁后mscorsvw.exe占CPU100%的问题
  16. 湖南大学工训创新大作业——改进电子音乐
  17. 爱心版生日快乐了解一下(肝了一个晚上)
  18. VS2019卸载和安装Visual Assist x番茄助手教程
  19. 从零入门云计算(1):云计算究竟是个啥?
  20. so 对XXX未定义的引用

热门文章

  1. C语言,期末复习之编写程序返回三个整数中的中间数
  2. 熊猫多模式站群 模型handlers流程图
  3. 【C语言】数据结构C语言版 实验6 树
  4. C#LeetCode刷题之#485-最大连续1的个数(Max Consecutive Ones)
  5. 如何得知mysql表结构发生变化了呢?
  6. 如何保护移动应用程序安全–移动应用程序安全检查表
  7. linux 下外语学习软件_学习外语如何帮助您学习编码
  8. sass webpack_如何在Visual Studio和Webpack中编译Sass文件
  9. 通过这个免费的,由23部分组成的互动课程,学习ES6 +
  10. soap rest_这是我对REST的后续工作,是新的SOAP:让我们谈谈原始REST