最大公共子序列;

要读懂题目中对于输入的描述;

仍然是上次的GDKOI最大公共子串的写法。

 1 # include <stdio.h> 2  3 int n; 4 int x[2]; 5 int cor[21]; 6 int cur[21]; 7 int ans[441]; 8  9 int get(int *x);10 11 int main()12 {13     int i, t;14     15     scanf("%d", &n);16     for (i = 1; i <= n; ++i) 17     {18         scanf("%d", &t);19         cor[t] = i;20     }21     22     while (~scanf("%d", &t))23     {   24         cur[t] = 1;25         for (i = 2; i <= n; ++i)26         {27             scanf("%d", &t);28             cur[t] = i;29         }30             31         x[0] = x[1] = n;32         memset(ans, 0xff, sizeof(ans));33            printf("%d\n", get(x));34     }35     36     return 0;37 }38 39 int get(int *x)40 {41     int index, ret, rem;42     if (!x[0] || !x[1]) return 0;43     index = x[0]-1 + (x[1]-1)*n;44     if (ans[index] >= 0) return ans[index];45     if (cor[x[0]] == cur[x[1]]) 46     {47         --x[0]; --x[1];48         ret = get(x) + 1;49         ++x[0]; ++x[1];50     }51     else 52     {53         ret = 0;54         --x[0]; if ((rem = get(x)) > ret) ret = rem; ++x[0];55         --x[1]; if ((rem = get(x)) > ret) ret = rem; ++x[1];56     }57     ans[index] = ret;58     return ret;59 }

转载于:https://www.cnblogs.com/JMDWQ/archive/2012/03/31/2426804.html

UVa 111 - History Grading相关推荐

  1. UVa 111 - History Grading

    [题目链接] http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114& ...

  2. uva 111 History Grading(最长公共子序列)

    题目连接:111 - History Grading 题目大意:给出一个n 代表序列中元素的个数, 然后是一个答案, 接下来是若干个同学的答案(直到文件结束为止), 求出两个序列的最长公共子序列, 注 ...

  3. 序列代码UVa 111 History Grading (最长公共子序列)

    每日一贴,今天的内容关键字为序列代码 题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&p ...

  4. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  5. 动态规划总结与题目分类

    源博客链接:http://blog.csdn.net/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间效率高,代码量少 ...

  6. 『ACM-算法-动态规划』初识DP动态规划算法

    一.多阶段决策过程的最优化问题 在现实生活中,有类活 动的过程,由于 它的特殊性,可将过程分成若干个互相阶段.在它的每一阶段都需要作出决策,从而使整个过程达到最好的活动效果.当阶段决策的选取不是任意确 ...

  7. (转)dp动态规划分类详解

    dp动态规划分类详解 转自:http://blog.csdn.NET/cc_again/article/details/25866971 动态规划一直是ACM竞赛中的重点,同时又是难点,因为该算法时间 ...

  8. 个人DP训练(基础版)

    题目链接    hdu 2955 Robberies 01背包,转化为求被抓的概率. 题目链接       hdu   1864  最大报销额 01背包,每张发票的总额为容量和价值,注意预处理数据,对 ...

  9. π-Algorithmist分类题目(3)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(3) Probability ...

最新文章

  1. mysql1045错误如何解决,Java面试真题精选
  2. 开源PagerSlidingTabStrip的使用Tab与ViewPager的完美结合
  3. “云计算”越来越重要 但更重要的是“云安全”
  4. 《大厂内部资料》Redis 性能优化的 13 条军规!全网首发
  5. python另存为excel_在Python中将Excel另存为HTML
  6. 远程控制软件编写--系列教程
  7. 如鹏网.Net三层架构 第四章代码生成器
  8. 接口文档与接口文档管理工具
  9. 传输栅输入端异常导通
  10. python判断今天周几_如何用python判断今天是星期几
  11. 数量遗传学 第二章 群体的遗传组成
  12. 50欧姆线设计 高频pcb_50欧阻抗天线设计
  13. 黑苹果制作Clover开机引导脱离U盘,小新Pro13详细教程
  14. 计算机基础知识学习第七课,7、新建文件夹--电脑基础知识
  15. 2022年黄石市高企申报奖励补贴以及认定奖励补贴汇总!
  16. 【微分方程】微分算子法求微分方程特解
  17. 第二十六章 使用 CSP 进行基于标签的开发
  18. 3、需求调研 - 产品管理系列文章
  19. 汉罗塔递归算法(C++)
  20. 区块链学习到底学什么?需要去区块链培训机构吗?

热门文章

  1. 在阿里干了五年,面试个小公司挂了…
  2. 完整的一次 HTTP 请求响应过程(二)
  3. The Struts dispatcher cannot be found异常的解决方法
  4. 直接拖动元器件_电子元器件常规检测和判断
  5. mysql连接超过8小时错误_mysql超过8小时数据库断掉连接的简单解决办法
  6. 从扁鹊医术看华为数据中心智能化运维之道
  7. 计算机组网技术与配置 pdf,教案计算机组网技术.pdf
  8. python 升级setuptools_linux 安装/升级 python3+setuptools+pip
  9. Python之Pandas:利用Pandas函数实现对表格文件的查之高级查询(类似sql,分组查询等)之详细攻略
  10. Python之spyder-kernels:spyder-kernels的简介、安装、使用方法之详细攻略