动态规划 最长公共子序列 王子和公主 Prince and Princess UVa 10635
来源:互联网 发布:剑三盾太捏脸数据 编辑:程序博客网 时间:2024/04/27 18:00
#include <iostream>#include <algorithm>using namespace std;const int maxn = 250 * 250;int main(){char T;cin >> T;for (char k = 0; k < T;k++){int n, p, q;cin >> n >> p >> q;int num[maxn];memset(num, 0, sizeof(num));int temp;for (int i = 0; i < p; i++){cin >> temp;num[temp] = i; }int S[maxn];int size = 0;for (int i = 0; i < q; i++) {cin >> temp;if (num[temp]){S[size++] = num[temp];}}//降低复杂度, 由于这些数字并不重复, 所以可以将他们映射到1-n//这样, 公共子序列问题就转化为 公共递增子序列问题//下面是LIS算法 int stack[maxn];for (int i = 0; i < maxn; i++) stack[i] = maxn;int ans = 1;for (int i = 0; i < maxn; i++){int count = lower_bound(stack + 1, stack + n + 1, S[i]) - stack;if (count>ans) ans = count;stack[count] = S[i];}cout << "Case " << k <<": "<< ans<<endl;}}
0 0
- 动态规划 最长公共子序列 王子和公主 Prince and Princess UVa 10635
- Prince and Princess UVA 10635 王子和公主 nlogn 求最长上升子序的长度
- UVA 10635 Prince and Princess 最长公共子序列
- UVA 10635 Prince and Princess 最长公共子序列(nlongn)
- UVA 10635 Prince and Princess(最长公共子序列)
- 10635 - Prince and Princess(最长公共子序列优化,动态规划)
- UVA 10635 Prince and Princess (最长公共子序列+最长上升子序列)
- UVA 10635 Prince and Princess(最长公共子序列转为最长上升子序列)
- uva 10635 Prince and Princess 最长公共子串
- Uva 10635 - Prince and Princess(最长公共子序列 nlogn 算法)
- UVA 10635--Prince and Princess+nlgn求最长公共子序列
- UVa 10635 Prince and Princess(最大公共子序列)
- UVA 10635 Prince and Princess(最长上升子序列)
- UVA 10635 Prince and Princess (动态规划)
- UVA - 10635 Prince and Princess (二分法 求最长上升子序列)
- 动态规划题 UVA Prince and Princess
- 公主和王子能在一起多久的问题+dp+最长公共子序列转最长子序列。
- [动态规划]Prince and Princess
- OpenStack架构
- 《HTTP权威指南》读书笔记(6)-实体和编码
- HDU-汉诺塔V-移动次数
- java中的super()是什么
- LeetCode --- 41. First Missing Positive
- 动态规划 最长公共子序列 王子和公主 Prince and Princess UVa 10635
- LeetCode --- 42. Trapping Rain Water
- 百度地图SDK-----实现简单路线规划功能思路分析
- 隐忍
- C 数组
- Netflix推荐系统:从评分预测到消费者法则
- 如何利用8个8运算构成1000
- HDU-Tri Tiling-铺方格
- Android getView方法优化简记