洛谷 2587 泡泡堂(贪心)

泡泡堂游戏开发 (Python Project) BNB AI设计 概述 在本次python的项目中,我们小组顺利的完成了游戏泡泡堂的基本功能,总代码量接近5k行,并在游戏泡泡堂的基本功能上实现了创新和拓展。选择泡泡堂作为python课程的项目题目是因为泡泡堂这一游戏,本身被多数玩家青睐,自2003年泡泡堂创建至今,泡泡堂就一直流行于中国甚至世界。因此,在学习了python基础之后,我们小组选择实现泡泡堂这个游戏,在实现过程中能帮助我们更好地... 阅读详情

PS:加粗的标题竟然显示不出来??那我以后就用三级标题了qwq

go to the problem

题目描述

第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分,平一场得1分,输一场不得分。最终将双方的单场得分相加得出总分,总分高的队伍晋级(总分相同抽签决定)。

作为浙江队的领队,你已经在事先将各省所有选手的泡泡堂水平了解的一清二楚,并将其用一个实力值来衡量。为简化问题,我们假定选手在游戏中完全不受任何外界因素干扰,即实力强的选手一定可以战胜实力弱的选手,而两个实力相同的选手一定会战平。由于完全不知道对手会使用何种策略来确定出场顺序,所以所有的队伍都采取了这样一种策略,就是完全随机决定出场顺序。

当然你不想这样不明不白的进行比赛。你想事先了解一下在最好与最坏的情况下,浙江队最终分别能得到多少分。

输入输出格式

输入格式:

输入文件的第一行为一个整数n,表示每支代表队的人数。

接下来n行,每行一个整数,描述了n位浙江队的选手的实力值。

接下来n行,每行一个整数,描述了你的对手的n位选手的实力值。

20%的数据中,1<=n<=10;

40%的数据中,1<=n<=100;

60%的数据中,1<=n<=1000;

100%的数据中,1<=n<=100000,且所有选手的实力值在0到10000000之间。

输出格式:

输入文件中包括两个用空格隔开的整数,分别表示浙江队在最好与最坏的情况下分别能得多少分。不要在行末输出多余的空白字符。

输入输出样例

输入样例#1:

2
1
3
2
4

输出样例#1:

2 0

输入样例#2:

6
10000000
10000000
10000000
10000000
10000000
10000000
0
0
0
0
0
0

输出样例#2:

12 12

说明

样例说明

1: 我们分别称4位选手为A,B,C,D。则可能出现以下4种对战方式,最好情况下可得2分,最坏情况下得0分。

一 二 三 四

浙江 ??? 结果 浙江 ??? 结果 浙江 ??? 结果 浙江 ??? 结果

一号选手 A C 负 A D 负 B C 胜 B D 负

二号选手 B D 负 B C 胜 A D 负 A C 负

总得分 0 2 2 0

2: 对手都是认真学习的好孩子,不会打游戏。无论如何排列出场顺序都无法改变被蹂躏的结果。浙江队总能取得全胜的结果。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;

int n;
struct maple{
    int person[100010];
}me,you;

int Done(maple a,maple b)
{
    int la=1,ra=n,lb=1,rb=n,ans=0;
    while(la<=ra)
    {
        if(a.person[la]>b.person[lb]) ++la,++lb,ans+=2;
        else if(la!=ra&&a.person[ra]>b.person[rb]) --ra,--rb,ans+=2;
        else 
        {
           if(a.person[la]==b.person[rb]) ++ans;
           ++la,--rb;
        }
    }
    return ans;
}
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;++i)
      scanf("%d",&me.person[i]);
    for(int i=1;i<=n;++i)
      scanf("%d",&you.person[i]);
    sort(me.person+1,me.person+n+1);
    sort(you.person+1,you.person+n+1); 
    int ans1=Done(me,you);  //我方最优
    int ans2=2*n-Done(you,me);  //对方最优
    cout<<ans1<<" "<<ans2;
    return 0;
}
/*

我方最强的强于对方最强的  用我方最强的战胜对方最强的
          弱于           对方无论如何都会战胜一个  -->
我方最弱的强于对方最弱的 用我方最弱的战胜对方最弱的
          弱于           对方无论如何都会战胜一个  -->
--> 用我方最弱的去对上对方最强的  保留了我方最强的,同时保留了战胜对方最弱的可能性。

我方最强的等于对方最强的  
   我方最弱的弱于对方最弱的 无论如何会输一局,不如用我方最弱的消耗掉对方最强的。
            等于           
            强于           
我方最弱的等于对方最弱的
  我方最强的弱于对方最强的 无论如何会输一局,不如用我方最弱的消耗掉对方最强的。
           等于
           强于

贪心策略:  
 1.我方最强的强于对方最强的  用我方最强的战胜对方最强的
 2.我方最弱的强于对方最弱的 用我方最弱的战胜对方最弱的
 3.用我方最弱的消耗掉对方最强的
 */ 
泡泡堂AI,泡泡堂游戏录制与播放开发心得 经过了一个月的有间断的研究和开发,我的泡泡堂从只有漏洞百出的AI版,到可以编辑地图的1.1版,最后到修正和提升了AI和改善了泡泡堂显示界面,并且加入泡泡堂录制和播放功能的泡泡堂1.2版终于面世了。也许大家对AI不大感兴趣,对游戏的录制和播放比较感兴趣,(或者对两者都不感兴趣:))。那我就简要说说AI,详细说说录制和播放吧。首先要说明一点的是,这个游戏最开始的框架不是我做起来的,因为我接触游戏开发也 阅读详情

相关推荐

泡泡堂单机实现(含地图编辑器)

DX+VB实现的一个游戏DOME,参考了网上的代码,加入了自己的理解和实现,放血了!

JAVA泡泡堂网络游戏的设计与实现免费源代码+LW

在对战时,玩家可以用方向键盘控制人物的移动,人物只能在空地中移动,当遇到“箱子”时,可以使用“空格键”放置“泡泡”,利用“泡泡”的爆炸的威力去破坏周围的障碍物(“仙人掌”不能被破坏掉)。客户端则监听用户的输入动作,包括键盘和鼠标动作,对于不同的动作做不同的处理,并根据玩家动作的类型,把所有信息封装为一个消息的实体(Message),然后发到服务器端。3.算法的设计:算法是游戏的核心,要设计很好的算法,提高游戏运行的效率,运行速度要高,并且资源占用的要少。首先要先运行服务器端,来处理各个客户端发来的请求。..

bwwork的博客 1007

泡泡堂源代码

本游戏模仿盛大网络版泡泡堂,使用C和windows api编写完成,使用到了碰撞检测,人工智能技术。而人工智能部分又使用到A寻路算法,有限状态机。

[BZOJ1034]泡泡堂 贪心

田忌赛马那样贪心。 先把A,B数组排序,假设要让A尽可能多赢,按照以下策略。 假设A最弱的强于B最弱的,B最弱的一定会输,所以派A最弱的去赢它。 假设A最强的强于B最强的,A最强的一定会赢,所以被派去赢B最强的。 假设两个都不满足,那么A一定要输一把,于是派A最弱的应付掉B最强的即可。 让B尽可能多赢同理。 代码:#include<iostream> #include<cstdio> #

DOFYPXY的博客 575

泡泡堂游戏图片音乐素材

泡泡堂的游戏素材,包括地图图块、爆炸特效、道具、角色行走、UI以及游戏音效及背景音乐。注意:图片是bmp格式,紫色背景,音效是wav格式。

ADS新手必看:ICCAP数据导入与导出CSV的完整流程(附常见问题解决)

本文为ADS新手详细讲解了如何将ICCAP测试数据导入ADS进行仿真分析,并导出为通用CSV格式的完整流程。内容涵盖文件格式解析、导入设置、数据验证、处理技巧及常见问题排查,重点解决了数据文件导入过程中的兼容性与单位映射等核心难点,帮助射频工程师高效连接测量与仿真环节。

peace的博客 557

Java开发的泡泡堂小游戏409 功能非常齐全 完整源码

java 编写的泡泡堂游戏,窗体程序 完整源码游戏,可以直接用来做课程设计或者学习;代码功能完善,下载后可以直接运行!!

bangxiecode的博客 947

【科普知识】什么是驱控一体化伺服电机?

驱控一体化伺服电机以其高度的集成性、兼容性、便捷性以及卓越的性能表现,成为了现代工业自动化领域的一颗璀璨明珠。对于那些追求高效、精准、智能控制的行业用户而言,它无疑是一种理想的选择。

m0_46512607的博客 3151

洛谷 P2587 [ZJOI2008]泡泡堂 贪心

好题!

Loi_cgold 471

手把手教你配置UFS的PSA状态机:WRITE/UNMAP命令实战与LBA映射避雷

本文详细解析了UFS PSA状态机的配置流程,重点探讨了在Pre-soldering状态下WRITE命令的原子性操作原则与单次写入LBA的重要性。通过实战代码示例,指导开发者如何正确初始化PSA环境、切换状态机,并深入剖析了使用UNMAP命令清理LBA映射时的常见陷阱与避雷指南,确保量产数据安全与良率。

weixin_29213525的博客 419

相机图像质量研究(15)常见问题总结:光学结构对成像的影响--暗角

老式相机的暗角往往比较明显,周围一圈能够明显感觉到亮度下降的很多,当然有些电源模仿手持相机的摄影效果,也能看到周围明显的亮度下降。一、

xiaoshixiu的专栏 1123

洛谷 P2587 [ZJOI2008]泡泡堂(贪心)

题目描述第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分,平一场得1分,输一场不得分。最终将双方的单

Loi_feather的博客 450

MT4-EA自动化交易研究笔记(2022-04-22)

自从接触到mt4的EA自动化交易,更让我这个10多年的老程序员看到了曙光,目前来看也确实出了一点成果,只是是否能稳定盈利有待时间的考验,所以开此专栏,一来做做记录与分析,更好的优化我的EA,二来也希望能与更多的高手交流,以完善我的交易系统

t35254056的博客 2291

洛谷P2587 [ZJOI2008]泡泡堂(贪心)

题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分,平一场得1分,输一场不得分。最

loi_black蒟蒻的博客 550

6、探索音乐结构中的统一性:贝多芬《英雄交响曲》第一乐章的深度剖析

本文深入剖析了贝多芬《英雄交响曲》第一乐章的音乐结构,探讨其统一性的来源及表现形式。通过主题与动机、和声与调性、旋律与节奏、织体与动态等多方面的分析,揭示了这部作品在技术层面和情感表达上的卓越成就。

b9c0d的博客 518

【NIPS 2022】时序精选论文07|Non-stationary Transformers: 引入非平稳性信息的平稳化序列预测模型(代码解读附源码)

整体代码框架基本上与传统 Transformer 类似,基本上只有在内嵌的注意力机制模块有区别,因此这里只对关键部分进行讲解,代码整体框架可参考 Transformer。非平稳时序很难预测,尤其对模型泛化性影响很大,试想下推理阶段的数据分布变了,模型很难适应这种变化。,比如很早以前的差分就是一种平稳化操作。序列平稳化能增强数据的可预测性,但这时也会带来一个问题,叫。,通过MLP层进行定义,使得参数可学习,以便于更好的融合到注意力网络中。代码中整体注意力的计算方式与原生Transformer类似,

ViolenceTemper的博客 1491

【题解】P2587 [ZJOI2008] 泡泡堂 [贪心]

如果 a_mx = 对方次大的,那就接着送,直到出现上面的情况。如果 a_mx = b_mx,如果 a_mx > 对方次大的,总体 + 0 + 2 比 + 1 好,送得好。排序搞俩指针,每次我方的最大和最小值叫 a_mx,a_mn,对方的最大和最小值叫 b_mx,b_mn。如果 a_mn = b_mn,那我方别人来打 b_mn 肯定会相同甚至更好,先让 a_mn 去送。因为我们只在小的要不起、大的相同的时候才送,横竖都有一个要不起,不如留着大的。如果大家都安安分分的打,能拿 3 分。

Isaac Regulus的博客 382

Python爬虫:招聘网站岗位要求、薪资与求职者数据爬取与分析

通过本文的教程,我们学习了如何通过 Python 编写招聘数据爬虫,爬取招聘网站上的岗位要求、薪资和求职者数据,并通过数据存储、清洗、分析和可视化,获取有价值的信息。网站如智联招聘、猎云网、前程无忧等,都提供了大量的招聘信息,包括岗位要求、薪资范围、工作经验、学位要求、招聘公司等。本文将介绍如何通过 Python 编写爬虫,爬取招聘网站上的岗位要求、薪资、求职者数据,并通过数据存储、分析和可视化等手段,为求职者或招聘者提供实用的信息和决策支持。通过循环抓取多个页面的数据,可以获取不同岗位的信息。

2201_76125261的博客 721

洛谷-P2587 [ZJOI2008]泡泡堂

P2587 [ZJOI2008]泡泡堂 题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得...

xu0_zy的博客 217

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

P2587 [ZJOI2008]泡泡堂 -- 贪心

题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分,平一场得1分,输一场不得分。最终将双方...

weixin_42754202的博客 144

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

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

洛谷P2587 [ZJOI2008]泡泡堂

传送门 1368 泡泡堂 省队选拔赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题解 题目描述Description 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛...

weixin_30245867的博客 119

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

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

洛谷 P2587 [ZJOI2008]泡泡堂 解题报告

P2587 [ZJOI2008]泡泡堂 题目描述 第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n号选手捉对厮杀,共进行n场比赛。每胜一场比赛得2分...

weixin_30652879的博客 215

每日一练之贪心算法(P2587)

洛谷——P2587 [ZJOI2008]泡泡堂 两队人马进行比赛, 战斗力值各有差异, 如果一方获胜得两分,战平各得一分,失败不得分,求可取得的最佳战绩与最差战绩。 思路:1)最强的打得过最强的就直接上; 2)最弱的打得过最弱的直接上; 3)我方最弱的打不过对方最弱的,送人头消耗对方最强的兵。这样...

weixin_30900589的博客 554

【洛谷 P2587】[ZJOI2008]泡泡堂

贪心 先将两队从小到大分别排序。 最好的情况: 如果我队最快的能战胜对方最快的,就让这两者作战。 如果我队最慢的能战胜对方最慢的,就让这两者作战。 如果上述都不符合,就让我队最慢的去和对方最快的作战。#include<cstdio> #include<iostream> #include<algorithm> using namespace std; int n,ans=0,ans1=0;

AliceBuJu 461

洛谷 P2587 [ZJOI2008]泡泡堂

题目 https://www.luogu.org/problem/show?pid=2587题目描述第XXXX届NOI期间,为了加强各省选手之间的交流,组委会决定组织一场省际电子竞技大赛,每一个省的代表队由n名选手组成,比赛的项目是老少咸宜的网络游戏泡泡堂。每一场比赛前,对阵双方的教练向组委会提交一份参赛选手的名单,决定了选手上场的顺序,一经确定,不得修改。比赛中,双方的一号选手,二号选手……,n

Mercury的博客 459
上一篇: codevs 1046 旅行家的预算(贪心)
下一篇: bzoj 2763 飞行路线(分层图最短路)
Loi_Mapleleaf
博客等级 码龄10年 17粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值