http://acm.hdu.edu.cn/showproblem.php?pid=1052

田忌赛马本质就是一个贪心

res表示田忌的胜利场次

1、田忌最快马快于王的最快马,两个最快马比,res++

2、田忌最快马慢于王的最快马,田忌的最慢马和王的最快马比,res--

3、田忌最快马等于王的最快马,分三种情况

   田忌最慢马快于王的最慢马,两个最慢马比,res++

   田忌最慢马慢于王的最慢马,田忌的最慢马和王的最快马比,res--

田忌最慢马等于王的最慢马,田忌的最慢马和王的最快马比,如果田忌的最慢马慢于王的快马res--(这个判断为了排除两个相等的情况,第二个样例给的非常厚道)

这题当年似乎让很多人饮恨,其实现场赛对于大多数队伍来讲,不用出什么真正的难题,需要的只是把这种题目做稳,理清思路,不慌张。当时会去敲二分图最大匹配的选手肯定已经乱了(因为理性思考的话,1000点的稠密图二分图最大匹配没有一丝生机,尽管1000看似诱人),同时不得不说,数据上限是1000的贪心非常阴险,如果出成10w应该会有更多人ac。

#include <iostream>
#include <cstdio>
#include <algorithm> using namespace std; int a[],b[]; int main(){
int n,f1,r1,f2,r2;
while(~scanf("%d",&n),n){
for(int i=;i<n;i++)
scanf("%d",&a[i]);
for(int i=;i<n;i++)
scanf("%d",&b[i]);
sort(a,a+n);sort(b,b+n);
f1=f2=;r1=r2=n-;
int cnt=;
int res=;
while(){
if(a[r1]>b[r2]){
res++;
r1--;r2--;
}
else if(a[r1]<b[r2]){
res--;
f1++;r2--;
}
else{
if(a[f1]>b[f2]){
res++;
f1++;f2++;
}
else if(a[f1]<b[f2]){
res--;
f1++;r2--;
}
else{
if(a[f1]<b[r2])res--;
f1++;r2--;
}
}
cnt++;
if(cnt==n)break;
}
printf("%d\n",res*);
}
return ;
}

HDU 1052的更多相关文章

  1. Tian Ji -- The Horse Racing HDU - 1052

    Tian Ji -- The Horse Racing HDU - 1052 (有平局的田忌赛马,田忌赢一次得200块,输一次输掉200块,平局不得钱不输钱,要使得田忌得到最多(如果只能输就输的最少) ...

  2. HDU 1052 Tian Ji -- The Horse Racing (贪心)(转载有修改)

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  3. HDU 1052 Tian Ji -- The Horse Racing(贪心)(2004 Asia Regional Shanghai)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1052 Problem Description Here is a famous story in Ch ...

  4. HDU 1052 贪心+dp

    http://acm.hdu.edu.cn/showproblem.php?pid=1052 Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS ...

  5. hdu 1052 (greedy algorithm) 分类: hdoj 2015-06-18 16:49 35人阅读 评论(0) 收藏

    thanks to http://acm.hdu.edu.cn/discuss/problem/post/reply.php?action=support&postid=19638&m ...

  6. HDU 1052 Tian Ji -- The Horse Racing(贪心)

    题目来源:1052 题目分析:题目说的权值匹配算法,有点误导作用,这道题实际是用贪心来做的. 主要就是规则的设定: 1.田忌最慢的马比国王最慢的马快,就赢一场 2.如果田忌最慢的马比国王最慢的马慢,就 ...

  7. Hdu 1052 Tian Ji -- The Horse Racing

    Tian Ji -- The Horse Racing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (J ...

  8. hdu 1052 Tian Ji -- The Horse Racing【田忌赛马】

    题目 这道题主要是需要考虑到各种情况:先对马的速度进行排序,然后分情况考虑: 1.当田忌最慢的马比国王最慢的马快则赢一局 2.当田忌最快的马比国王最快的马快则赢一局 3.当田忌最快的马比国王最快的马慢 ...

  9. HDU 1052(田忌赛马 贪心)

    题意是田忌赛马的背景,双方各有n匹马,下面两行分别是田忌和齐王每匹马的速度,要求输出田忌最大的净胜场数*每场的赌金200. 开始的时候想对双方的马匹速度排序,然后比较最快的马,能胜则胜,否则用最慢的马 ...

随机推荐

  1. Extjs 视频教程

    ---恢复内容开始--- 网易云课堂 <尚学堂_Ext视频教程> login.html <html> <head> <meta http-equiv=&quo ...

  2. Akumuli时间序列数据库——列存储,LSM,MVCC

    Features Column-oriented time-series database. Log-structured append-only B+tree with multiversion c ...

  3. Chrome plug-in 和Extension

    "扩展"和"插件",其实都是软件组件的一种形式,Chrome 只不过是把两种类型的组件分别给与了专有名称,一个叫"扩展",另一个叫" ...

  4. python中的urlencode与urldecode

    当url地址含有中文,或者参数有中文的时候,这个算是很正常了,但是把这样的url作为参数传递的时候(最常见的callback),需要把一些中文甚至'/'做一下编码转换. 所以对于一些中文或者字符,ur ...

  5. [Js]碰撞运动

    描述:撞到目标点弹回来(速度反转) 一.无重力的漂浮div var div1=document.getElementById("div1"); var iSpeedX=6; var ...

  6. java.io中流的操作:字节流、字符流

    java.io中流的操作:字节流.字符流(1)使用File类打开一个文件(2)通过字节流或字符流的子类指定输出的位置(3)进行读/写操作(4)关闭输入/输出 1.字节流:主要是byte类型数据,以by ...

  7. left join 多表关联查询

    A表--left join-- B表  --on--A和B表相等的字段--  此时AB已关联 --left join--C表--on --A(或B)与C表相等的字段 此时ABC已关联 --left j ...

  8. Zabbix源码包安装

    Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg  /bin  /lib   / ...

  9. php解密java的DES加密

    echo openssl_decrypt( $密文 ,"des-ecb" , $密钥 );

  10. Linux-如何查看登陆shell的类型

    输入一个系统不认识的命令(如#ig)获得系统提示 aix/#ig ksh ig not found #echo $ (适用sh/ksh) aix/#echo $ ksh #echo $SHELL(用户 ...