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. 【ACM】杭电OJ 2005
  2. 一年一度程序员“补课”季来袭,618 背后技术大公开!
  3. sqlite创建表联合主键的sql写法、执行sql文件、不支持右连接、获取年份、case when 的使用
  4. java监听器用法(二):窗口监听器
  5. java数组子类型_[改善Java代码]数组的真实类型必须是泛型类型的子类型
  6. jooq_jOOQ与Hibernate:何时选择哪个
  7. java手机象棋软件下载,Java手机网络版象棋游戏附源码JAVA游戏源码下载
  8. IDEA查看Scala的源码
  9. 苹果cms资源站360影视
  10. 智能风控中的全场景化的模型组合包括哪些内容
  11. android版手机qq 5.0,界面精简功能更强 手机QQ5.0安卓版发布
  12. 基于iOS11的HEVC(H.265)硬编码/硬解码功能开发指南
  13. Android画扇形区域,Android百度地图画扇形
  14. ShortCut Key——Google
  15. Leetcode494. 目标和
  16. ios修改根视图控制器
  17. 中南大学综合选拔2019计算机,中南大学计算机学院2019年硕士研究生复试情况汇总表...
  18. 基于MATLAB的无刷直流调速系统的设计与仿真
  19. Fluke TiS60+红外热像仪 福禄克TiS60+热成像仪
  20. golang---实现wake on lan

热门文章

  1. 解决ERROR 1396 (HY000): Operation ALTER USER failed for root@localhost
  2. 【TencentOS tiny】深度源码分析(4)——消息队列
  3. 字符url编码_HTML URL编码字符参考
  4. erlang有前途吗_带有示例的Erlang概述
  5. 大众汽车和鸿蒙,鸿蒙系统下个月即将与大众见面,首发平台并非手机
  6. 通过例子理解事务的4种隔离级别
  7. Java:节点流和处理流的理解
  8. 有哪些开源的 Python 库让你相见恨晚?
  9. Flash中与xml交互时不显示中文的解决办法
  10. ReportViewer教程(15)-矩阵报表-5