题目描述:最长公共子序列的变形

题目序列中第i项是学生给第i号历史事件排出的序号,另外还给出了第i号历史事件的正确序号

求按照学生给出的序号排好历史事件后,所得的事件排序与历史事件实际发生的序列的最长公共子序列

分析:本题最坑的地方是审题,注意题目给出的是给第i号历史事件排出序号,求的却是按照序号排好事件后与历史事件实际发生的序列的最长公共子序列,只要将事件按所给序号排好后就完完全全是一个求最长公共子序列的题了;审题中另一个比较坑的地方是题目详细叙述了“历史考试评分”的两种策略,却明确要求你仅用第二种策略计算

rank[temp]=i ,表示排好序后第temp个发生的事件是编号为i的事件

 #include<cstdio>
#include<cstring> int max(int a,int b)
{
return a>b ? a : b;
}
int main()
{
int n,rank1[],rank2[];
int d[][],i,j;
scanf("%d",&n);
int temp;
for(i=;i<=n;i++)
{
scanf("%d",&temp);
rank1[temp]=i;
}
while(scanf("%d",&temp)!=EOF)
{
rank2[temp]=;
for(i=;i<=n;i++)
{
scanf("%d",&temp);
rank2[temp]=i;
}
memset(d,,sizeof(d));
for(i=;i<=n;i++)
for(j=;j<=n;j++)
{
if(rank1[i]==rank2[j])
d[i][j]=d[i-][j-]+;
else
d[i][j]=max(d[i-][j],d[i][j-]);
}
printf("%d\n",d[n][n]);
}
}

UVA 111 历史考试的更多相关文章

  1. uva 111 History Grading(lcs)

    题目描述 在信息科学中有一些是关于在某些条件限制下,找出一些计算的最大值. 以历史考试来说好了,学生被要求对一些历史事件根据其发生的年代顺序来排列.所有事件顺序都正确的学生无疑的可以得满分.但是那些没 ...

  2. UVa 111 - History Grading (by 最长公共子序列 )

     History Grading  Background Many problems in Computer Science involve maximizing some measure accor ...

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

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

  4. UVA 111

    又被题意坑了... 输入的一串数字的含义是第i个数字是第a[i]个发生的.而不是编号为i的历史事件的实际发生顺序.所以第一步要做的是转换,将原始数据转换成编号为i的历史事件的实际发生顺序.然后按照实际 ...

  5. UVA 111 History Grading

    读题读了好久,其实就是在输入数据时要对数据的位置进行相应的改变 #include<iostream> #include<cstring> #include<cstdio& ...

  6. uva 111 - History Grading (dp, LCS)

    题目链接 题意:给N,第二行是答案,n个数c1---cn, 代表第一个的顺序是c1,第二个数顺序是c2; 下面每一行是学生的答案,格式同上. 注意:这个给的顺序需要处理一下,不能直接用. 思路:LCS ...

  7. UVa 111 History Grading (简单DP,LIS或LCS)

    题意:题意就是坑,看不大懂么,结果就做不对,如果看懂了就so easy了,给定n个事件,注意的是, 它给的是第i个事件发生在第多少位,并不是像我们想的,第i位是哪个事件,举个例子吧,4 2 3 1, ...

  8. UVA 111(LCS问题)

     History Grading  Background Many problems in Computer Science involve maximizing some measure accor ...

  9. UVA 111 (复习dp, 14.07.09)

     History Grading  Background Many problems in Computer Science involve maximizing some measure accor ...

随机推荐

  1. IDEA开发环境设置

    IDEA开发环境设置 1.关闭自动更新 IntelliJ IDEA默认会自动进行版本的更新,在网络异常时经常会导致各种各样的问题,因此强烈建议关闭自动更新. File->Settings 2.隐 ...

  2. C#建造者模式

    /// <summary> /// 电脑类 /// </summary> public class Computer { //电脑组件集合 private IList<s ...

  3. Log4Net使用详解(续)

    转:http://blog.csdn.net/zhoufoxcn/article/details/6029021 说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:ht ...

  4. [c#]Extesion method

    做一个类似Vb.net里面with的方法 public static void Use<T>(this T item, Action<T> work) { work(item) ...

  5. 在无界面centos7上部署MYSQL5.7数据库

    1. 利用xshell连接好服务后,输入 wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 下载软件安装 ...

  6. 一份完整的 MySQL 开发规范,进大厂必看!

    作者:听风 https://www.cnblogs.com/huchong/p/10219318.html 一.数据库命令规范 1.所有数据库对象名称必须使用小写字母并用下划线分割 2.所有数据库对象 ...

  7. java _static 关键字

    • 在类中,用static声明的成员变量为静态成员变量 ,或者叫做: 类属性,类变量. • 它为该类的公用变量,属于类,被该类的所有实例共享,在类被载入时被显式初始化, • 对于该类的所有对象来说,s ...

  8. 二分查找---有序数组的 Single Element

    有序数组的 Single Element 540. Single Element in a Sorted Array (Medium) Input: [1, 1, 2, 3, 3, 4, 4, 8, ...

  9. 重绘ComboBox —— 让ComboBox多列显示

    最近在维护一个winform项目,公司购买的是DevExpress控件 (请问怎么联系DevExpress工作人员? 我想询问下,广告费是怎么给的.:p),经过公司大牛们对DevExpress控件疯狂 ...

  10. hash和history

    location.hash="aaa" history.pushState({},'', "home") history.replaceState() hist ...