poj 2287 田忌赛马

贪心和DP POJ2287 田忌赛马 题目大意:给出n 阅读详情

(1)类型:贪心算法。
(2)题意:田忌有n匹马,国王有n匹马,田忌的马和国王的马比赛,问田忌要怎么安排自己的马匹出场的顺序才可以赢得比赛。
(3)解题思路:本题的解题思路在代码中有具体的注释。
(4)时间复杂度:O(n*log(n)+n);其中快排为:n*log(n),贪心主代码为O(n);
(5)总结:&此题用暴搜也可以敲的出来代码,但当n足够大时,是一定会超时的。一开始做的时候就超时了,后来借鉴大神的思想才搞出来。
&下面代码中用到运算符重载,即cmp函数将升序改为降序。
(6)代码:

#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int MAX_N=1e3+6;
int n,T[MAX_N],K[MAX_N];
bool cmp(int a,int b){return a>b;}
void solve(){
    int ans=0,i,j,ii,jj;
    for(i=0,j=0,ii=n-1,jj=n-1;i<=ii;){
        if(T[i]>K[j]){ans+=200;i++;j++;}/*如果比得过就比否则其他的也不一定能够比得过*/ 
        else if(T[i]<K[j]){ans-=200;j++;ii--;}/*连最大的都没有王的大注定比不过*/
        else {/*如果两者相等,则比较最小的*/
            if(T[ii]>K[jj]){ans+=200;ii--;jj--;}
            else {/*如果最小的也没有王最小的大,则注定
            比不过则比最小的*/ 
                if(T[ii]<K[j])ans-=200;
                ii--;j++;
            }
       }
    }
    cout<<ans<<endl;
}
int main(){
    ios::sync_with_stdio(false);cin.tie(0);
    while(cin>>n,n){
        for(int i=0;i<n;i++)cin>>T[i];
        for(int i=0;i<n;i++)cin>>K[i];
        sort(T,T+n,cmp);sort(K,K+n,cmp);
        solve();
    }
}
田忌赛马: POJ 2287(贪心解法) NULL 博文链接:https://128kj.iteye.com/blog/1759266 立即下载

相关推荐

Realtek RTD1319D芯片解析:H.266与AV1双解码的机顶盒SoC

视频编解码技术是数字媒体传输的核心,H.266/VVC作为新一代标准,相比H.265提升50%压缩效率,显著降低带宽需求。其实现原理依赖于专用硬件解码器和并行处理架构,在超高清视频传输领域具有重要价值。Realtek RTD1319D作为首款商用H.266处理器,采用异构计算设计,集成四核ARM CPU和独立视频处理单元,同时支持AV1解码,兼顾市场兼容性。该SoC特别适合4K机顶盒、数字标牌等应用场景,其HDMI 2.1a接口和DVB解调器为超高清内容传输提供完整解决方案。开发时需注意散热设计和内存配置优

weixin_42591413的博客 672

Poj 2287 田忌赛马解题详解(贪心思想)

题意是:田忌赛马的故事,两个人赛马,第一行输入的数是两个人马的匹数,都是相同的,第二行输入的是田忌的马的强弱值,第三行输入的是国王马的强弱值,然后如果n==0则程序结束。 解题思路:贪心思想 如果田忌的最强马大于国王的最强马直接比 如果田忌的最强马小如国王的最强马拿最弱的那匹马跟国王的最强马比 如果田忌的最强马等于国王的最强马拿最弱的那匹马国王比较 如果·最弱的马跟最弱的马相等直接比较#i

Leeue李月 2756

matlab特征提取和分类_SAST Weekly|MATLAB机器学习初探——做个心音分类器

SAST weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!本期的SAST weekly,想跟大家分享一下如何用MATLAB进行初步的机器学习,构建一个正常/...

weixin_36453829的博客 5580

POJ 2287 田忌赛马 贪心

中国古代一个有名的故事 ” 田忌赛马”。田忌和齐王赛马, 他们各有 n 匹马,依次派出一匹马进行比赛, 每一轮获胜的一方将从输的一方获得200 银币, 平局则不用出钱。其中每匹马只能出场一次,每匹马有一个速度值,在比赛中速度快的马一定会获胜。田忌知道所有马的速度值,且田忌可以安排每轮双方出场的马。问田忌如何安排马的出场顺序,使得最后获得的钱最多?

2302_79545206的博客 693

鸿蒙OS开机动画背后的秘密:从代码到视觉的完整解析(附源码分析)

本文深入解析了鸿蒙OS开机动画的系统级实现原理。从bootanimation服务的启动配置、与Render Service的协同,到基于VSync信号的帧率同步与绘制流水线,结合OpenHarmony源码进行了逐行解读。文章揭示了其事件驱动的优雅退出机制,并探讨了视频支持、多屏适配等高级特性与定制化可能,为开发者理解鸿蒙图形子系统提供了硬核技术视角。

sony5的博客 972

K8S 1.28.2 + Calico 3.27.3 保姆级安装避坑指南:解决节点NotReady问题

本文提供了一份详细的Kubernetes 1.28.2与Calico 3.27.3集群部署指南,重点解决节点NotReady这一常见问题。通过版本兼容性分析、精细化环境配置、kubeadm初始化参数详解及Calico Operator部署,手把手指导用户避开网络插件配置陷阱,确保集群从NotReady状态恢复健康并稳定运行。

weixin_28835583的博客 394

poj2287题解

题目有几种情况 1.田忌最快的马比齐威王最快的马快 2.田忌最快的马比齐威王最快的马慢 3.田忌最快的马和齐威王最快的马速度相等 (1)田忌最慢的马比齐威王最慢的马速度快 (2)田忌最慢的马比齐威王最慢的马速度慢或者相等 //Memory 176K Time 79MS #include <iostream> #include <cstdio> #include <al...

xiaozhou163的博客 364

自定义LayoutManager实现android-pile-layout滑动卡片堆叠效果

这是我的第一篇博客,总算有个契机开始写博客了,就从自定义LayoutManager开始吧。 前段时间看到一个项目(android-pile-layout),效果特别不错,这是效果图: 效果确实不错,我看了下实现,是用的自定义的ViewGroup实现的,计算什么还搞的挺复杂的,具体的没细看。作者说也尝试过用LayoutManager实现,但是没找到合适的数学模型,好吧,看到数学模型我

u014296305的博客 1万+

POJ 2287贪心算法

题意:田忌赛马故事。 思路:运用学长所教的贪心算法以及模板…… #include #include #include #include using namespace std; int King[1010],Tian[1010]; bool cmp(int a,int b) { return a>b; } inline int VS(int a,int b) { if(a==b

liwei的专栏 938

RK3568平台(USB篇)USB基础知识

现象:把USB设备比如Android手机接到PC答1:是USB控制器,是USB控制器内嵌的root hub.答2. windows里已经有了USB的总线驱动程序,接入USB设备后,是"总线驱动程序"知道你是"android phone"提示你安装的是"设备驱动程序"。USB总线驱动程序负责:识别USB设备, 给USB设备找到对应的驱动程序。答3. PC的USB口内部,D-和D+接有15K的下拉电阻,未接USB设备时为低电平USB设备的USB口内部,D-或D+接有1.5K的上拉电阻;

weixin_49303682的博客 1658

条件DDPM:Diffusion model的第三个巅峰之作

前言:DDPM从2020年诞生,短短一年的时间,模型上有两个巨大的改进,其中一个就是condition的引入,最近大部分DDPM相关的论文都会讨论这一点,有些文章称之为latent variable。和当年GAN的发展类似,CGAN和DCGAN的出现极大程度上促进了GAN的发扬光大,意义重大。本文基于前面几篇文章继续聊一聊: 从VAE到Diffusion Model_沉迷单车的追风少年-优快云博客 为什么diffusion model扩散模型可以称为score-based models?_沉迷单车的.

沉迷单车的追风少年 1万+

POJ 2287 田忌赛马(贪心)

文章目录1. 题目1.1 题目链接1.2 题目大意1.3 解题思路2. Accepted 代码 1. 题目 1.1 题目链接 http://poj.org/problem?id=2287 1.2 题目大意 双方各有n匹战斗力各异的马,分别派出来PK,假设对方先出牌,我方后出,求我方最多能胜几场 1.3 解题思路 对方出来战斗力k的马 我方派出战斗力比k大的且最弱的马,赢,保存实力更高的马 若均无...

Michael是个半路程序员 1334

SpringBoot4.0+JDK25+GraalVM实战:云原生新纪元,微服务性能翻倍的落地指南

三者的组合不是偶然,而是“框架优化+JDK升级+虚拟机革新”的必然结果——SpringBoot4.0完善了对GraalVM原生镜像的支持,JDK25强化了云原生与AOT编译能力,GraalVM则提供了极致的启动速度和资源利用率,三者协同,刚好命中云原生微服务的核心痛点。SpringBoot4.0+JDK25+GraalVM的组合,不是简单的版本升级,而是云原生微服务的一次性能革命。

2601_94871597的博客 1141

算法题目——田忌赛马(POJ-2287)

POJ-2287 #include<iostream> #include<vector> #include<algorithm> #include<cstring> using namespace std; bool comp(int x ,int y) { return x > y; } int main() { int n; int temp;//保存临时变量的 vector<int> vec;//用于保存输出的结果

qq_50675813的博客 725

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

POJ 2287 田忌赛马

Tian Ji -- The Horse Racing Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 17699 Accepted: 5461 Description Here is a famous story in Chinese history. ...

weixin_38168173的博客 249

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

poj2287 田忌赛马

贪心1.田最慢的马和齐最慢的马比,赢则+12.田最快的马和齐最快的马比,赢则+13.用田最慢的马和齐最快的马比,输则-1。注意:打平的情况最后在判断田最快=齐最快,田最慢=齐最慢的情况时想当然的打平了。实际上我按第三种情况处理,所以必须把田最慢和齐最快比一下#include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;stdlib....

u012669479的博客 264

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

poj2287田忌赛马

首先明确田忌每次出马不是最快就是最慢,dp[i][j]为田忌第i到第j匹马和齐王比赛的结果,dp[i][j]=max(dp[i+1][j]+judge(i,k),dp[i][j-1]+judge(j,k)),枚举齐王出了前k匹马。 #include #include #include #include using namespace std; int dp[1002][1002],t

blog 469

POJ2287 田忌赛马---贪心算法

田忌赛马 题目详见http://poj.org/problem?id=2287 田忌赛马大家都听过,可是如果不是上中下等三种马,而是很多种马,就不仅仅是321的问题了。 这个很明显就是贪心算法,贪心算法的宗旨就是一个字------贪!有最小的代价换取最大的利益,我们都很喜欢。田忌当年请教孙膑的时候,孙膑对田忌说:“现在用您的下等马对付他们的上等马,拿您的中等马对付他们的下等马,拿您的上等

承续缘的信仰 9083

poj2287-田忌赛马贪心

/* 贪心策略: 1,如果田忌的最快马快于齐王的最快马,则两者比。 (因为若是田忌的别的马很可能就赢不了了,所以两者比) 2,如果田忌的最快马慢于齐王的最快马,则用田忌的最慢马和齐王的最快马比。 (由于所有的马都赢不了齐王的最快马,所以用损失最小的,拿最慢的和他比) 3,若相等,则比较田忌的最慢马和齐王的最慢马 3.1,若田忌最慢马快于齐王最慢马,两者比。 (田忌的最慢马既然能赢一

zhang20072844的专栏 3602

poj 2287 田忌赛马 贪心

点击打开链接 #include #include #include using namespace std; const int M =1100; int a[M],b[M],n,used[M]; int main() { while(cin>>n&&n) { memset(used,0,sizeof(used)); for(int i=0;i<n;i++) { c

Masamiiiiii 513

2287 poj 田忌赛马,贪心

这题就是先对田忌和大王从大到小排序,再以找到大王第i个比tian【0】小,它之前有几匹马那田忌就至少输掉几场比赛,然后开始枚举最终输掉的场次,将田忌最慢的马与齐王最好的马比赛,剩下的马一一对应比赛,找出赢钱的最大值就可以了 #include using namespace s

代码随想录 1304

POJ 2287 田忌赛马 贪心算法

田忌赛马,大致题意是田忌和国王赛马,赢一局得200元,输一局输掉200元,平局则财产不动。 先输入一个整数N,接下来一行是田忌的N匹马,下一行是国王的N匹马。当N为0时结束。 此题为贪心算法解答,有两种思路。 思路二: 1、开始也是先排序,可以使用sort快排; 2、然后将田忌最大的马与国王进行比较; 3、如果田忌最大的马大于国王,那么就胜场++; 4、如果田忌最大的马小于国王,那么...

weixin_34349320的博客 460
上一篇: poj 1562 Oil Deposits
下一篇: poj 3617 Best Cow Line
图南1204
博客等级 码龄9年 21粉丝 118原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值