湖南省第八届程序设计竞赛J
来源:互联网 发布:数据功能权限系统设计 编辑:程序博客网 时间:2024/05/19 13:31
题目J. 病毒
你有一个日志文件,里面记录着各种系统事件的详细信息。自然的,事件的时间戳按照严格递增顺序排列(不会有两个事件在完全相同的时刻发生)。
遗憾的是,你的系统被病毒感染了,日志文件中混入了病毒生成的随机伪事件(但真实事件的相对顺序保持不变)。备份的日志文件也被感染了,但由于病毒采用的随机感染方法,主日志文件和备份日志文件在感染后可能会变得不一样。
给出被感染的主日志和备份日志,求真实事件序列的最长可能长度。
输入格式
输入第一行为数据组数T (T<=100)。每组数据包含两行,分别描述感染后的主日志和备份日志。每个日志文件的格式相同,均为一个整数n (1<=n<=1000)(代表感染后的事件总数)和n 个不超过100,000的正整数(表示感染后各事件的时间戳)。注意,感染后可能会出现时间戳完全相同的事件。
输出格式
对于每组数据,输出真实事件序列的最长可能长度。
样例输入 样例输出
1
9 1 4 2 6 3 8 5 9 1
6 2 7 6 3 5 1
3
代码:
// Rujia Liu#include<cstdio>#include<algorithm>#include<vector>using namespace std;const int maxn = 1000 + 10;int n, m, A[maxn], B[maxn], last[maxn], d[maxn][maxn], f[maxn][maxn];int main() { int T; scanf("%d", &T); while(T--) { scanf("%d", &n); for(int i = 0; i < n; i++) scanf("%d", &A[i]); scanf("%d", &m); for(int i = 0; i < m; i++) scanf("%d", &B[i]); for(int j = 0; j < m; j++) { last[j] = -1; for(int k = 0; k < j; k++) if(B[k] == B[j]) last[j] = max(last[j], k); } int ans = 0; for(int i = 0; i < n; i++) for(int j = 0; j < m; j++) { d[i][j] = 0; if(A[i] == B[j]) { d[i][j] = 1; if(last[j] >= 0) d[i][j] = max(1, d[i][last[j]]); if(i > 0) for(int k = last[j]+1; k < j; k++) if(B[k] < B[j]) d[i][j] = max(d[i][j], f[i-1][k] + 1); } f[i][j] = d[i][j]; if(i > 0) f[i][j] = max(f[i-1][j], f[i][j]); ans = max(ans, d[i][j]); } printf("%d\n", ans); } return 0;}
- 湖南省第八届程序设计竞赛J
- 湖南省第八届程序设计竞赛 A
- 湖南省第八届程序设计竞赛 B
- 湖南省第八届程序设计竞赛C
- 湖南省第八届程序设计竞赛D
- 湖南省第八届程序设计竞赛E
- 湖南省第八届程序设计竞赛F
- 湖南省第八届程序设计竞赛G
- 湖南省第八届程序设计竞赛H
- 湖南省第八届程序设计竞赛I
- 湖南省第八届程序设计竞赛K
- 湖南省第八届程序设计竞赛L
- 病毒(湖南省第八届大学生计算机程序设计竞赛)
- 湖南省第八届大学生计算机程序设计竞赛部分题解
- “浪潮杯”山东省第八届ACM大学生程序设计竞赛 J
- 2016年湖南省第十二届大学生计算机程序设计竞赛 J 三角形和矩形(计算几何)
- CSU 1812 三角形和矩形【湖南省第十二届大学生计算机程序设计竞赛 J题】
- 湖南省第十二届大学生计算机程序设计竞赛 J 三角形和矩形 半平面交
- Cocos2D-X屏幕适配新解
- C/C++------------pthread_cleanup_push/pthread_cleanup_pop----------保护机制
- 《编程导论(Java)2.3.1》-重量过载 == 重载
- 湖南省第八届程序设计竞赛I
- UVA 10162 - Last Digit
- 湖南省第八届程序设计竞赛J
- 湖南省第八届程序设计竞赛K
- Cannot open the disk 'F:\centos64-final\CentOS 64-bit\CentOS 64-bit.vmdk' orone of the snapshot disk
- 第十二篇 Spring Web Flow 2简化页面流的开发,结合Spring MVC更俊,Spirng Security 3添加安全机制
- 哈哈,我要搬到博客园了!
- vba excel写入年历
- libpcap 抓包程序
- Android 使用ViewPager实现左右循环滑动图片
- 湖南省第八届程序设计竞赛L