P2587 [ZJOI2008]泡泡堂

2023-10-29 10:40
文章标签 zjoi2008 p2587 泡泡堂

本文主要是介绍P2587 [ZJOI2008]泡泡堂,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

R e s u l t Result Result

...


H y p e r l i n k Hyperlink Hyperlink

https://www.luogu.com.cn/problem/P2587


D e s c r i p t i o n Description Description

两个队伍,每个队伍各有 n n n个人, A A A队第 i i i个人的强度值是 a i a_i ai B B B队第 i i i个人的强度值是 b i b_i bi

每场比赛会从两队中各选出一个人,比较他们的强度值
强的那一方加两分,弱的那一方不加分不扣分,若强度相同,双方各加一分

A A A队最好情况和最坏情况的得分

数据范围: n ≤ 1 0 5 n\leq 10^5 n105


S o l u t i o n Solution Solution

田忌赛马改一改就好了。。。

首先比赛的先后顺序与答案无光,我们只关心每个人具体和谁比了
我们这边只用求最好情况就好了,因为两队总分是固定的 2 × n 2\times n 2×n,如果 B B B队拿了最高分, A A A队自然就拿了最低分,最坏情况只需要把 B B B队当成 A A A队做就好了

考虑如何处理最好情况
直接田忌赛马的策略?

我们先概括一下田忌赛马的策略是怎样的: 让最弱的去送人头,使得强的尽量拿分

但是!我们有些时候并不需要让弱的去送人头
比如:

  1. 弱的本来就吊打得过对面最弱的
  2. 强的本来就吊打得过对面最强的

注意是吊打,因为如果平局我们还是让弱的去送人头比较好(这样肯定不会更劣)
考虑完这些就好了,注意特判送人头不一定送得到(可能对方最强的还没你这边最弱的强2333)

时间复杂度: O ( n log ⁡ n ) O(n\log n) O(nlogn)


C o d e Code Code
#include<cctype>
#include<cstdio>
#include<cstring>
#include<algorithm>
#define LL long long
#define N 100010
using namespace std;int n,a[N],b[N];
inline LL read()
{char c;LL d=1,f=0;while(c=getchar(),!isdigit(c)) if(c=='-') d=-1;f=(f<<3)+(f<<1)+c-48;while(c=getchar(),isdigit(c)) f=(f<<3)+(f<<1)+c-48;return d*f;
}
inline int work(int a[],int b[])
{int ans=0;for(int l=1,r=n,x=1,y=n;l<=r&&x<=y;) if(a[l]>b[x]) ans+=2,l++,x++;else if(a[r]>b[y]) ans+=2,r--,y--;else ans+=a[l]==b[y],l++,y--;return ans;
}
signed main()
{n=read();for(register int i=1;i<=n;i++) a[i]=read();for(register int i=1;i<=n;i++) b[i]=read();sort(a+1,a+1+n);sort(b+1,b+1+n);printf("%d %d",work(a,b),2*n-work(b,a));
}

这篇关于P2587 [ZJOI2008]泡泡堂的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/300087

相关文章

【bzoj1037】【ZJOI2008】【生日聚会Party】【dp】

Description 今天是hidadz小朋友的生日,她邀请了许多朋友来参加她的生日party。 hidadz带着朋友们来到花园中,打算坐成一排玩游戏。为了游戏不至于无聊,就座的方案应满足如下条件:对于任意连续的一段,男孩与女孩的数目之差不超过k。很快,小朋友便找到了一种方案坐了下来开始游戏。hidadz的好朋友Susie发现,这样的就座方案其实是很多的,所以大家很快就找到了一种,那么到底有

洛谷 P2590 [ZJOI2008]树的统计(树链剖分+线段树)

题目描述 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。 我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身 输入输出格式 输入

【题解】「ZJOI2008」树的统计(树链剖分)

题面 【题目描述】 一棵树上有 n n n个节点,编号分别为 1 1 1到 n n n,每个节点都有一个权值 w w w。我们将以下面的形式来要求你对这棵树完成一些操作: I . I. I. C H A N G E CHANGE CHANGE u u u t t t : 把结点 u u u的权值改为 t t t I I . II. II. Q M A X QMAX QMAX u u

BZOJ1036: [ZJOI2008]树的统计Count

Description 一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身 Input

【BZOJ 1033】 [ZJOI2008]杀蚂蚁antbuster

1033: [ZJOI2008]杀蚂蚁antbuster Time Limit: 10 Sec   Memory Limit: 128 MB Submit: 583   Solved: 230 [ Submit][ Status] Description 最近,佳佳迷上了一款好玩的小游戏:antbuster。游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右下角是蛋糕,蚂蚁会源

BZOJ 1033: [ZJOI2008]杀蚂蚁antbuster

1033: [ZJOI2008]杀蚂蚁antbuster Time Limit: 10 Sec   Memory Limit: 128 MB Submit: 1117   Solved: 458 [ Submit][ Status][ Discuss] Description   最近,佳佳迷上了一款好玩的小游戏:antbuster。游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,

[BZOJ 1033][ZJOI2008]杀蚂蚁antbuster

1033: [ZJOI2008]杀蚂蚁antbuster Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1200  Solved: 507[Submit][Status][Discuss] Description   最近,佳佳迷上了一款好玩的小游戏:antbuster。游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右下角是蛋糕,蚂蚁会

BZOJ1033:[ZJOI2008]杀蚂蚁antbuster(模拟)

Description   最近,佳佳迷上了一款好玩的小游戏:antbuster。游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右 下角是蛋糕,蚂蚁会源源不断地从窝里爬出来,试图把蛋糕搬回蚂蚁窝。而你的任务,就是用原始资金以及杀蚂蚁 获得的奖金造防御塔,杀掉这些试图跟你抢蛋糕的蚂蚁~下附一张游戏截图:     为了拿到尽可能高的分数,佳佳设计了很多种造塔的方案,但在尝试了其中的一小部分后,佳

【ZJOI2008】【BZOJ1033】杀蚂蚁(占坑待填

problem(= =、可读版本) 最近,佳佳迷上了一款好玩的小游戏:antbuster。 游戏规则非常简单:在一张地图上,左上角是蚂蚁窝,右下角是蛋糕,蚂蚁会源源不断地从窝里爬出来,试图把蛋糕搬回蚂蚁窝。而你的任务,就是用原始资金以及杀蚂蚁获得的奖金造防御塔,杀掉这些试图跟你抢蛋糕的蚂蚁~ 下附一张游戏截图: 为了拿到尽可能高的分数,佳佳设计了很多种造塔的方案,但在尝试了其中的一小部分后

P2607 [ZJOI2008] 骑士

P2607 [ZJOI2008] 骑士 [P2607 ZJOI2008] 骑士 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 文章目录 P2607 [ZJOI2008] 骑士题目大意思路code 题目大意 给你一个 n n n 个点, n n n 条边的基环树森林。 你可以从中选择若干个点,满足两两之间不存在边相连。 每个点有一个权值,请问最大的权