题目描述 Description
世界上的人都有智商IQ和情商EQ。我们用两个数字来表示人的智商和情商,数字大就代表其相应智商或情商高。现在你面前有N个人,这N个人的智商和情商均已知,请你选择出尽量多的人,要求选出的人中不存在任意两人i和j,i的智商大于j的智商但i的情商小于j的情商。

输入描述 Input Description
 第一行一个正整数N,表示人的数量。 第二行至第N+1行,每行两个正整数,分别表示每个人的智商和情商。

输出描述 Output Description
仅一行,为最多选出的人的个数。

样例输入 Sample Input
 3 100 100 120 90 110 80

样例输出 Sample Output
2

数据范围及提示 Data Size & Hint
 N<=1000;

u��
A�z%ೀ%过程为一次一次的购买,每一次购买也许只买一本(这有三种方案),或者买两本(这也有三种方案),或者三本一起买(这有一种方案),最后直到买完所有需要的书。
       2、最后一步我必然会在7种购买方案中选择一种,因此我要在7种购买方案中选择一个最佳情况。
       3、子问题是,我选择了某个方案后,如何使得购买剩余的书能用最少的钱?并且这个选择不会使得剩余的书为负数。母问题和子问题都是给定三卷书的购买量,求最少需要用的钱,所以有“子问题重叠”,问题中三个购买量设置为参数,分别为i、j、k。
       4、的确符合。
       5、边界是一次购买就可以买完所有的书,处理方式请读者自己考虑。
       6、每次选择最多有7种方案,并且不会同时实施其中多种,因此方案的选择互不影响,所以有“子问题独立”。
       7、我可以用minMoney[i][j][k]来保存购买第1卷i本,第2卷j本,第3卷k本时所需的最少金钱。
       8、共有x * y * z 个问题,每个问题面对7种选择,时间为:O( x * y * z * 7) = O( x * y * z )。
       9、用函数MinMoney(i,j,k)来表示购买第1卷i本,第2卷j本,第3卷k本时所需的最少金钱,那么有:
              MinMoney(i,j,k)=min(s1,s2,s3,s4,s5,s6,s7),其中s1,s2,s3,s4,s5,s6,s7分别为对应的7种方案使用的最少金钱:
              s1
= 60 * 0.95 + MinMoney(i-1,j,k)
              s2
= 60 * 0.95 + MinMoney(i,j-1,k)
              s3
= 60 * 0.95 + MinMoney(i,j,k-1)
              s4
= (60 + 60) * 0.9 + MinMoney(i-1,j-1,k)
              s5
= (60 + 60) * 0.9 + MinMoney(i-1,j,k-1)
              s6
= (60 + 60) * 0.9 + MinMoney(i-1,j,k-1)
              s7
= (60 + 60 + 60) * 0.85 + MinMoney(i-1,j-1,k-1)
 
      
      
 
 
----第六节----代码参考------
 
 
       下面提供金矿问题的程序源代码帮助读者理解,并提供测试数据给大家练习。
 
       输入文件名为“beibao.in”,因为这个问题实际上就是背包问题,所以测试数据文件名就保留原名吧。
       输入文件第一行有两个数,第一个是国王可用用来开采金矿的总人数,第二个是总共发现的金矿数。
       输入文件的第2至n+1行每行有两个数,第i行的两个数分别表示第i-1个金矿需要的人数和可以得到的金子数。
 
       输出文件仅一个整数,表示能够得到的最大金子数。
 
       输入样例:
       100 5
       77 92
       22 22
       29 87
       50 46
       99 90
 
       输出样例:
       133

  1. var
  2. iq,eq:array[..]of longint;
  3. f:array[..] of longint;
  4. n,i1:longint;
  5. function max(a,b:longint):longint;
  6. begin
  7. if a>b then exit(a) else exit(b);
  8. end;
  9. procedure qsort(l,r:longint);
  10. var i,j,mid,t:longint;
  11. begin
  12. i:=l;
  13. j:=r;
  14. mid:=iq[(i+j)div ];
  15. repeat
  16. while iq[i]<mid do inc(i);
  17. while iq[j]>mid do dec(j);
  18. if i<=j then
  19. begin
  20. t:=iq[i];
  21. iq[i]:=iq[j];
  22. iq[j]:=t;
  23. t:=eq[i];
  24. eq[i]:=eq[j];
  25. eq[j]:=t;
  26. inc(i);
  27. dec(j);
  28. end;
  29. until i>j;
  30. if l<j then qsort(l,j);
  31. if r>i then qsort(i,r);
  32. end;
  33. {快速排序}
  34. procedure main;
  35. var i,j,t:longint;
  36. begin
  37. t:=;
  38. f[]:=;
  39. for i:= to n do
  40. begin
  41. for j:= to i- do
  42. if (eq[j]<eq[i])and(f[j]>f[i])then f[i]:=f[j];
  43. inc(f[i]);
  44. end;
  45. for i:= to n do
  46. t:=max(t,f[i]);
  47. writeln(t);
  48. end;
  49. begin
  50. fillchar(f,sizeof(f),);
  51. read(n);
  52. for i1:= to n do read(iq[i1],eq[i1]);
  53. qsort(,n);
  54. main;
  55. end.
  56. {需要用双重关键字排序,先为一个排序后再求另一个严格上升子序列}

[CODEVS3641]上帝选人的更多相关文章

  1. 【基础练习】【线性DP】codevs3641 上帝选人题解

    这道题目的数据最后一个有问题,特殊处理了 上题目 题目描写叙述 Description 世界上的人都有智商IQ和情商EQ.我们用两个数字来表示人的智商和情商,数字大就代表其对应智商或情商高. 如今你面 ...

  2. codevs 3641 上帝选人

    3641 上帝选人  时间限制: 1 s  空间限制: 256000 KB  题目等级 : 黄金 Gold 题目描述 Description 世界上的人都有智商IQ和情商EQ.我们用两个数字来表示人的 ...

  3. Windows上帝模式,上帝应该就是这样使用Windows的

    Windows上帝模式(Windows Master Control Panel)由来已久,最早是从Win7优化大湿里看到的一个选项,开启后在桌面生成一个图标,点进去后里面包含了几乎全部Windows ...

  4. 【BZOJ3211&3038】花神游历各国&上帝造题的七分钟2(CodeVS)

    Description   Input   Output 每次x=1时,每行一个整数,表示这次旅行的开心度 Sample Input 4 1 100 5 5 5 1 1 2 2 1 2 1 1 2 2 ...

  5. C++之路进阶——codevs2492(上帝造题的七分钟 2)

    2492 上帝造题的七分钟 2  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 大师 Master    题目描述 Description XLk觉得<上帝造题的七分钟&g ...

  6. 在线制作h5——上帝的礼物

    在线制作h5 网址:http://www.godgiftgame.com 网站名称:上帝的礼物 推荐指数:5颗星 功能概要 可以设置背景.元素图片.元素文字.元素图形.声音.加载.链接.分享,生成h5 ...

  7. 重构第27天 去除上帝类(Remove God Classes)

    理解:本文中的”去除上帝类”是指把一个看似功能很强且很难维护的类,按照职责把自己的属性或方法分派到各自的类中或分解成功能明确的类,从而去掉上帝类. 详解:我们经常可以在一些原来的代码中见到一些类明确违 ...

  8. 开启Windows Server 2008 R2上帝模式

    TAG标签: 摘要:这个“God Mode” 应该大部分的网友都听过了,只是在 Windows Server 2008 R2 上也支持此一功能.启用方式非常简单,在桌面新建一个文件夹,命名为: God ...

  9. hdu 2048 神、上帝以及老天爷(错排)

    神.上帝以及老天爷 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

随机推荐

  1. HttpHandler与HttpModule及实现文件下载

    HttpHandler:处理请求(Request)的信息和发送响应(Response).HttpModule:通过Http Module向Http请求输出流中写入文字,httpmodule先执行 它们 ...

  2. ilasm.exe与ildasm.exe的使用(编译与反编译)

    ilasm.exe与ildasm.exe的使用(编译与反编译)   首先打开cmd命令.cd 到 C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0 ...

  3. IOS视图旋转可放大缩小

    - (IBAction)hideBut:(id)sender { if (self.flg) { [UIView animateWithDuration:0.3 animations:^{ self. ...

  4. 网站开发常用jQuery插件总结(14)图片修剪插件Jcrop

    一.插件功能 用于对图片进行修剪.但是在使用Jcrop时,还需要配合服务器端开发语言(如asp.net,php等)使用. 二.官方地址 http://deepliquid.com/content/Jc ...

  5. java中运算符——进度1

    Class Demo1{    public static void main(String[] args) {        /*        一.逻辑运算法用于连接两个boolean类型的表达式 ...

  6. css3动画使用技巧之——transform-delay为负值时的应用。

    <html>    <head>        <title>css3动画delay为负值时的效果</title>        <meta ch ...

  7. php Static静态关键字

    静态属性与方法可以在不实例化类的情况下调用,直接使用类名::方法名的方式进行调用.静态属性不允许对象使用->操作符调用. class Car { private static $speed =  ...

  8. 禁止选择文本和禁用右键 v1.0

    var zhonghao={ //绑定事件 myAddEvent: function(obj, sEvent, fn){if(obj.attachEvent){obj.attachEvent('on' ...

  9. 犯这个错误的肯定不止我一个 关于File

    File.Create(string filePath)这种用法所有人都知道,这两天用到的时候却发现一个问题. 需要先判断文件是否存在,如果不存在则创建文件,然后向该文件写入数据,后续定时Append ...

  10. 《工作型PPT设计之道》培训心得

    参加包翔老师的“工作型PPT设计之道>培训,颇多心得,后来为部门新员工和同组同事做了转化培训,将心得整理成一份PPT讲义,效果颇佳.现将主要心得整理于此.因时间仓促,24条心得有拼凑之嫌,有待今 ...