首页 > 其他分享 >Infinite Card Game

Infinite Card Game

时间:2024-06-18 14:42:51浏览次数:24  
标签:10 le mathit Monocarp 张牌 Bicarp Game Infinite Card

无限纸牌游戏

题目描述

Monocarp 和 Bicarp 正在玩一个纸牌游戏。每张牌都有两个参数:攻击值和防御值。如果一张牌 $ s $ 的攻击值严格大于 $ t $ 的防御值,那么这张牌 $ s $ 就能打败另一张牌 $ t $。

Monocarp 有 $ n $ 张牌,其中第 \(i\) 张牌的攻击值为 $ \mathit{ax}_i $,防御值为 $ \mathit{ay}_i $。 Bicarp 有 $ m $ 张牌,其中第 \(j\) 张牌的攻击值为 $ \mathit{bx}_j $,防御值为 $ \mathit{by}_j $。

在第一步棋中,Monocarp 选择他的一张牌并打出。比卡普必须用自己的牌来回应,而这张牌要胜过那张牌。之后,莫诺卡普必须用一张击败比卡普的牌来回应。之后,轮到比卡普,依此类推。

一张牌被击败后,会回到出牌者的手中。这意味着每位玩家在游戏开始时都有同一套牌可打。游戏结束时,当前玩家手中的牌不能击败对手刚刚打出的牌,当前玩家输掉游戏。

如果游戏持续 $ 100^{500} $ 步,则宣布平局。

Monocarp 和 Bicarp 都是最佳下法。也就是说,如果棋手无论对手下了多少步棋都有获胜的策略,那么他就会下赢的棋。否则,如果他有和棋策略,他就下和棋。

要求您计算三个值:

  • 莫诺卡普的起始步中导致莫诺卡普获胜的步数;
  • 莫诺卡普的起始棋步中导致和棋的步数;
  • Monocarp 的起手棋导致 Bicarp 获胜的步数。

输入格式

第一行包含一个整数 $ t $ ( $ 1 \le t \le 10^4 $ ) - 测试用例的数量。

每个测试用例的第一行包含一个整数 $ n $ ( $ 1 \le n \le 3 \cdot 10^5 $ ) - Monocarp 拥有的卡片数量。

第二行包含 $ n $ 个整数 $ \mathit{ax}_1, \mathit{ax}_2, \dots, \mathit{ax}_n $ ( $ 1 \le \mathit{ax}_i \le 10^6 $ ) - Monocarp 纸牌的攻击值。

第三行包含 $ n $ 个整数 $ \mathit{ay}_1, \mathit{ay}_2, \dots, \mathit{ay}_n $ ( $ 1 \le \mathit{ay}_i \le 10^6 $ ) - Monocarp 牌的防御值。

第四行包含一个整数 $ m $ ( $ 1 \le m \le 3 \cdot 10^5 $ ) - Bicarp 的牌数。

第五行包含 $ m $ 整数 $ \mathit{bx}_1, \mathit{bx}_2, \dots, \mathit{bx}_m $ ( $ 1 \le \mathit{bx}_j \le 10^6 $ ) - Bicarp 纸牌的攻击值。

第六行包含 $ m $ 整数 $ \mathit{by}_1, \mathit{by}_2, \dots, \mathit{by}_m $ ( $ 1 \le \mathit{by}_j \le 10^6 $ ) - Bicarp 牌的防御值。

输入的其他限制条件:所有测试案例的 $ n $ 之和不超过 $ 3 \cdot 10^5 $ ,所有测试案例的 $ m $ 之和不超过 $ 3 \cdot 10^5 $ 。

输出格式

对于每个测试用例,打印三个整数:

  • Monocarp 的起始移动中 Monocarp 获胜的移动次数;
  • Monocarp 的起始棋步导致和棋的次数;
  • Monocarp 的起始棋步导致 Bicarp 获胜的棋步数。

样例 #1

样例输入 #1

3
3
8 7 4
7 1 10
2
8 4
5 10
9
8 8 5 5 5 4 4 1 4
2 7 5 2 8 9 7 1 9
10
9 8 7 6 5 5 4 3 2 1
7 1 6 7 5 8 8 4 9 6
1
10
5
1
10
5

样例输出 #1

1 1 1
2 4 3
0 1 0

标签:10,le,mathit,Monocarp,张牌,Bicarp,Game,Infinite,Card
From: https://www.cnblogs.com/gutongxing/p/18254340

相关文章

  • GameFrameWork框架初学随笔其一
    边看边分析,学习记录用Setting用来存储游戏数据,游戏存档可以用AB包的后缀名来存储不同语言的资源?Procedure的调用顺序,OnInit(不管有没有调用到,都会在游戏初始化时调用),OnEnter,OnUpdate,OnLevel,OnDestroy如果不是EditorResourceMode模式,单机模式需要初始化下AssetBundle资源,关......
  • CF1267G Game Relics
    GameRelics首先猜一下(在\(x\lec_i\)的条件下),应该先抽奖,后剩下的全买考虑已经拥有了\(k\)个圣物,再又有一个圣物的期望代价为\(E(X)=\frac{n-k}{n}x+\frac{k}{n}(E(X)+\frac{x}{2})\)\(E(X)=x(1+\frac{k}{2(n-k)})\)随着随机选择,设还剩\(k\)个圣物没有,其代价和为......
  • World Tour Finals 2022 Day2 E: Adjacent Xor Game
    考虑从高到低位做,不断贪心的一个过程。即假设把当前所有数\(a_i\)看成\(\lfloor\frac{a_i}{2^d}\rfloor\),有当前最优答案\(ans_d\);现在把所有数看成\(\lfloor\frac{a_i}{2^{d-1}}\rfloor\),推出下一步的答案\(ans_{d-1}\)。假设\(/2^d\)时,每一步xor完的序列是\(a_1......
  • CF1392H ZS Shuffles Cards
    ZSShufflesCards若我们取到了鬼牌则会游戏重开,这是离谱的有\(E(ans)=E(重开多少次)E(重开一次摸的牌数)\)\(E(重开一次摸的牌数)=\frac{n}{m+1}+1\)考虑每张数字牌在某一次被摸的概率\(P(x)=\frac{1}{m+1}\),因为我们只需考虑所有鬼牌与那一张数字牌的相对位置\(E(...)=......
  • 【工具推荐】基于Win10系统自带软件Xbox Game Bar录屏后下载安装ffmpeg然后使用ffmpeg
    本文详细介绍了如何基于Win10系统自带软件XboxGameBar录屏,以及如何下载安装ffmpeg,然后如何使用ffmpeg将录屏得到的mp4视频转换为可用于博客中做功能演示用的gif动态图片,同时还提供了一个一键转换脚本,减少繁琐的操作步骤。......
  • 有针对Pygame封装好各种模块的第三方库吗???
    #创意设计        最近刚学完Python,想做一个自己的GUI程序,具体要做什么没想好,但方法让我有点犯难。问题如下:    1.做GUI程序,以我的水平Python下能用的只有Tkinter、Pygame和easygui了。    2.Tkinter之前用过,用途简单一点的话没什么问题,程序需求复......
  • 贪吃蛇小游戏Python Pygame实现
    运行结果 游戏规则1.↑↓←→来控制蛇的移动方向2.蛇吃到自己身体的任意一部分游戏结束,自动退出窗口3. 蛇的速度会随游戏时间增长越来越快,与吃食物的多少(分数)无关4.蛇可以穿过边界到达另一边5.场上食物同时只会存在一个,颜色随机,但每个颜色的所得分......
  • C#实验 综合实例:生命游戏 game of life
    C#实验综合实例:生命游戏gameoflife《面向对象实验》嗨,我是射手座的程序媛,期待与大家更多的学习与交流,欢迎添加3512724768一、实验目的1.熟练掌握C#开发,编写WinForm应用程序。2.全面加深面向对象编程的概念,如类、对象、实例化等。3.学会使用C#图形图像编程。二、......
  • P2734 [USACO3.3] 游戏 A Game
    原题链接题解首先,玩家一先选,那么玩家一该选最左边还是最右边呢?我们假设玩家一有穿越时空的能力,知晓了选择左边后的最大得分和选了右边后的最大得分,那么玩家一便能确定选哪个设\(dp[l][r]\)为当区间为\(l,r\)时先手最大分数选左边的最大得分:\(sumr-dp[2][r]+a[1]\)选右......
  • [Tkey] CodeForces 1267G Game Relics
    太神了这题,膜拜出题人orz。思考一首先是大家都提到的一点,先抽卡再买。这里来做个数学分析。假设我们还剩\(k\)种没有买,其实我们是有式子来算出它的花费期望的。WIKI上提到,假设一个事件的概率为\(p\),则遇到它的期望为\(\frac{1}{p}\),因此,对于这个题,抽到一个新物品的概率显......