算法笔记--贪心(田忌赛马)

算法竞赛学习笔记—田忌赛马(贪心法) 题目描述:田忌和齐王赛马,胜一场可获得200金,负一场损失200金,平局无得无失。现在给出马的数量,田忌的每匹马的速度和齐王每匹马的速度,求出田忌最多可以赢得多少金。 输入输出:包含多组数据,每组数据的第一行为一个正整数n(n 输入样例: 3 92 83 71 95 87 74 2 20 20 20 20 2 20 19 22 18 0 输出样例: 200 0 0 阅读详情

hdu1952 Tian Ji – The Horse Racing

Sample Input
3
92 83 71
95 87 74
2
20 20
20 20
2
20 19
22 18
0

Sample Output
200
0
0

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{
    return a>b;
}
int tian[1005],king[1005];
int main()
{
    int n;
    while(scanf("%d",&n),n!=0)
    {
        int i;
        for(i=0;i<n;i++) scanf("%d",&tian[i]);
        for(i=0;i<n;i++) scanf("%d",&king[i]);
        sort(tian,tian+n,cmp);
        sort(king,king+n,cmp);
        int tqian=0,tman=n-1;
        int kqian=0,kman=n-1;
        int sum=0;
        for(i=0;i<n;i++)
        {
            if(king[kqian]<tian[tqian])
            {
                kqian++;
                tqian++;
                sum=sum+200;
            }
            else if(king[kqian]>tian[tqian])
            {
                kqian++;
                tman--;
                sum=sum-200;
            }
            else if(king[kqian]==tian[tqian])
            {
                if(tian[tman]<king[kman])
                {
                    tman--;
                    kqian++;
                    sum=sum-200;
                }
                else if(tian[tman]>king[kman])
                {
                    tman--;
                    kman--;
                    sum=sum+200;
                }
                else if(tian[tman]==king[kman])
                {
                    if(tian[tman]<king[kqian])
                    {
                        kqian++;
                        tman--;
                        sum=sum-200;
                    }
                    /*else
                    {
                        kman--;
                        tman--;
                    }*/
                }
            }
        }
        printf("%d\n",sum);
    }
    return 0;
}
算法笔记2-(贪心算法) 求解问题时,总是做出在当前看来最好的选择。及,仅仅是某种意义上的局部最优解,而是否是全局最优需要证明 硕鼠的交易 HDOJ 1009 结构体数组排序法 阅读详情

相关推荐

01 ArcGIS空间分析--水文分析--利用水文分析方法提取山谷山脊线

ArcGIS空间分析的一个特别好的分析教程是汤国安老师的空间分析的内容。 实例与练习 练习1. 利用水文分析方法提取山脊、山谷线 1. 背景:山脊线、山谷线是地形特征线,它们对地形、地貌具有一定的控制作用。它们与山顶点、谷底点以及鞍部点等一起构成了地形及其起伏变化的骨架结构。因此在数字地形分析中,山脊线和山谷线以及

Meditation 1万+

简版田忌赛马(C++和C实现)

这是一个简版田忌赛马问题,具体如下:田忌与齐王赛马,双方各有n匹马参赛,每场比赛赌注为200两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马的速度从快到慢出场,请写一个程序帮助田忌计算他最多赢多少两黄金(若输,则用负数表示)。简单起见,保证2n匹马的速度均不相同。

2303_80007907的博客 2640

SAP FI模块实操:用F-28和F-32搞定客户回款与手动清账,别再让未清项报表一团糟

本文详细解析了SAP FI模块中F-28和F-32事务代码在客户回款与手动清账中的实操应用,帮助财务人员高效管理未清项报表。通过标准清账六步法和手动清账实战技巧,解决因操作不规范导致的账务混乱问题,提升应收账款管理效率。

weixin_30292843的博客 455

田忌赛马问题

田忌赛马 田忌赛马 1.定义 2.算法实现 语言实现 复杂度分析 田忌赛马 1.定义 问题描述: 你一定听说过田忌赛马的故事吧?如果3匹马变成n匹(n<=100),齐王仍然让他的马按照优到劣的顺序初赛,田忌可以按任意顺序选择他的赛马出赛。赢一局,田忌可以得到200两银子;输一局,田忌就要输掉200两银子。已知道国王和田忌的所有马的奔跑速度,并且所有马的奔跑速度均不相同,现...

xiaojingcsdn的博客 2668

C#实战:5分钟搞定Modbus RTU通讯(基于NModbus4库)

本文详细介绍了如何使用C#和NModbus4库快速实现Modbus RTU通讯,包括环境配置、核心功能实现、性能优化及常见问题排查。通过代码示例和实用技巧,帮助开发者高效完成工业自动化设备的数据采集与控制任务。

weixin_30689307的博客 468

AIAgent知识表示与推理:基于本体论与规则引擎的实现

AIAgent知识表示与推理:基于本体论与规则引擎的实现 1. 背景介绍 人工智能(AI)系统的核心是知识表示和推理,这是实现智能行为的基础。在过去的几十年里,人工智能领域一直致力于研究如何有效地表示和推理知识,以支持智能系统的决策和行为。其中,基于本体论的知识表示和

AI天才研究院 1497

c++问题:田忌赛马(贪心)

田忌和齐王赛马, 他们各有 n 匹马,依次派出一匹马进行比赛, 每一轮获胜的一方将从输的一方获得 200 银币, 平局则不用出钱。田忌知道所有马的速度值,且田忌可以安排每轮双方出场的马。若此时田忌<=齐王,将田忌慢马与齐王快马比赛(与慢马或快马进行比赛,都是不可能赢的,何不换取更大的利益)。输入包含若干组数组, 每个数据的第 1 行是一个整数 n (n≤1000),表示齐王和田忌各有 n 匹马, 后面的两行每行有 n 个数,分别表示田忌 n 匹马和齐王 n 匹马的速度值。1、田忌>齐王:正常比赛。

Sz_winwater的博客 4599

基于STM32的智能家用节能控制系统设计

该系统可以实时监测家庭的环境参数,如温湿度、光照强度和人体存在情况,根据设定的节能策略自动控制灯光、空调、风扇等家电设备,从而降低不必要的能源消耗。该基于STM32的智能家用节能控制系统通过多种传感器实现了对家庭环境的实时监测,并结合继电器控制模块实现了对家电设备的自动化控制,从而达到节能减排的效果。根据传感器获取的数据,判断是否需要开启或关闭家电设备,从而降低不必要的能源消耗,达到节能的目的。:继电器的控制引脚连接至STM32的GPIO引脚(如PB0、PB1),用于控制灯光、风扇、空调等家电设备的开关。

stm32d1219的博客 1246

田忌赛马

田忌赛马 【问题描述】       中国古代的历史故事“田忌赛马”是为大家所熟知的。话说齐王和田忌又要赛马了,他们各派出N匹马,每场比赛,输的一方将要给赢的一方200两黄金,如果是平局的话,双方都不必拿出钱。现在每匹马的速度值是固定而且已知的,而齐王出马也不管田忌的出马顺序。请问田忌该如何安排自己的马去对抗齐王的马,才能赢取最多的钱?  【输入格式】      第一行为一个正整数n (n 

都市桃源 1754

不用Root!这些隐藏代码能一键开启安卓诊断端口(小米/OPPO/魅族机型实测)

本文提供了一份无需Root权限即可开启安卓手机诊断端口的实用指南。通过拨号盘输入特定隐藏代码,小米、OPPO、魅族等机型的用户可以一键激活此工程模式,从而连接电脑进行基带数据备份(如QCN文件)或故障排查。文章详细列出了各品牌指令、操作验证步骤,并强调了备份IMEI等关键数据的重要性与操作风险,旨在帮助用户在紧急情况下修复网络问题。

weixin_29260291的博客 273

PLC期末速成——顺序功能图转梯形图

一、根据顺序功能图写出梯形图程序 顺序功能图: 梯形图: 1、程序段1,系统运行标志M0.0的启-保-停控制电路。 2、程序段2,PLC上电与逆行,初始化脉冲M1.0激活初始化步M2.0。 3、程序段3,当M2.0初始化步为活动步,并且M0.0系统运行标志位为1时,置位M2.1步,复位M2.0步。 4、当M2.1为活动步,并且I0.3中液位传感器为1时,置位M2.2步,复位M2.1步。 5、程序段5,当M2.2为活动步,并且I0.2高液位传感器为1时,置位M2.3步,复位M2.2步。 6、程序段

qq_52251819的博客 1万+

【贪心算法】田忌赛马问题代码和注释

描述 田忌与齐王赛马,双方各有n匹马参赛(n<=100),每场比赛赌注为1两黄金,现已知齐王与田忌的每匹马的速度,并且齐王肯定是按马的速度从快到慢出场,现要你写一个程序帮助田忌计算他最好的结果是赢多少两黄金(输用负数表示)。 Tian Ji and the king play horse racing, both sides have n horse (n is no more the

lydia_ke的博客 7755

Claude Code 处理长任务 + Cursor 专注交互:双栈协作的 3 种分工场景与响应提速 35% 实测

揭示 Claude Code 与 Cursor 在 AI 编程中的本质分工:Claude Code 作为离线式架构师处理跨文件、带约束的长链路重构(如单体拆微服务),Cursor 作为现场交互工程师专注秒级局部编辑;提出按任务切片动态切换的三种工程化协作场景,并给出结构化上下文构建、约束型 Prom

weixin_28728443的博客 123

田忌赛马贪心算法c语言_C++编程笔记:贪心算法实现活动安排问题,算法问题教你轻松解决...

问题描述:设有n个活动的集合E={1,2,…,n},其中,每个活动都要求使用同一资源,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间si和一个结束时间fi,且si=fj或sj>=fj时,活动i与活动j相容。活动安排问题就是要在所给的活动集合中选出最大的相容活动子集合。细节须知:暂无。算法原理:a.对活动进行排序将各活动的起始时间和结束时间存储于数组中并按...

weixin_30431043的博客 609

假人有限元模型

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

OV9734 DATASHEET,完整规格书

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

算法学习笔记之贪心算法

算法学习之贪心算法

m0_61049754的博客 2174

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【贪心算法】day5

【贪心算法】day5:870. 优势洗牌、409. 最长回文串、942. 增减字符串匹配

tan_run的博客 3007

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

杭电基础算法学习笔记 第2讲 贪心算法Greedy Algorithm

2022/1/24 例0:导引问题--硕鼠的交易(浙大PAT) 题目描述 Problem Description 小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆。 仓库有N个房间; 第i个房间有J[i] 磅的五香豆,并且需要用F[i]磅的猫粮去交换; 老鼠不必交换该房间所有的五香豆,换句话说,它可以用 F[i]a% 磅的猫粮去换取J[i]a%磅的五香豆,其中a是一个实数。 现在,请帮忙计算一下,小老鼠最多能够得到多少磅的五香豆? Input 输入包含多组..

m0_60284156的博客 1994

ACM算法笔记 03 贪心算法

1.贪心算法不从整体上考虑,而是求出在某种意义上的当前局部最优解,但要求当前的局部最优解就是全局整合后的全局最优解(需要证明,但一般很难,可以考虑反证法)。2.证明贪心算法的局部最优解的合理性:*方法1:枚举*方法2:反证法3.贪心算法常见的操作:排序*qsort C。

wawa_is_studying的博客 305

贪心算法笔记

总是作出在当前看来是最好的选择!!! 不从整体上加以考虑,所作出的仅仅是在某种意义上的局部最优解。 例一:田忌赛马 经典例子:事件序列问题 反证法证明贪心思路的正确性 可图性判定! 两个概念: 1.度序列:若把图G所有顶点的度数排成一个序列S,则称S为图的度序列 ...

m0_55756918的博客 338

【算法笔记 9】贪心策略四

承接上一篇文章,这篇文章的内容是贪心策略的双序列配对,题目会比上一个双序列配对多一些,但也只是一些。难度差不多,只是指针的写法在优化上可能有点难理解或者难想到。

yktssg的博客 716

【集训笔记】贪心算法【HDOJ1052 【HDOJ2037

FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 38780Accepted Submission(s): 12797 Problem Description FatMouse prepar...

weixin_30758821的博客 246

1025笔记

1.浇草 S[i].a=x-sqrt(r - (w/2)); S[i].b=s+sqrt(r-(w/2)); 勾股定理求这个矩形边缘到中心的距离 按S [i].a 从小到大快排 从左到右依次处理每个区间 2.将n个正整数连成一个最大的整数 弱智贪心,按字典序大小排序即可。 bool cmp(string x,string y){ return x+y>y+x; } 3.Pro...

qq_43542633的博客 199

2024.7.19学习笔记

【代码】2024.7.19学习笔记。

copy79的博客 457

算法笔记(个人用)(不定期更新)

文章目录前言说明Note文档编辑相关语言特性相关 (C/C++)输出数组最后一个元素后面无空格二分查找函数rand() 范围算法相关排序区间求和题单基础数学素数素数判断素数筛朴素筛选 (埃式筛)朴素筛选优化线性筛 (欧拉筛)闰年判断蔡勒(Zeller)公式GCD10转R进制卡特兰数完美数分解因数欧几里得-欧拉定理数根[1~n] 中完全平方数的个数计算Π pia二分查找顺序序列找唯一值逼近类二分容斥原理位运算整形存储大小intlong long`__builtin_函数`取模自动取模工具类除法取模判断奇偶统计

cuber-lotus的博客 3812

每日算法-250513

记录今天学习的算法题解。

2403_83543687的博客 1131
上一篇: 算法笔记--分治(求后序遍历)
下一篇: 算法笔记--二分/三分
runnerxin
博客等级 码龄10年 12粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值