1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

核心思路

题目中有两个人轮流拿食物:

  • 笨蛋同学先手,并且每次都拿当前桌上美味度最高的食物;
  • 天才同学后手,但会采用最优策略,使最终差值

P4805.第1题-这是什么博弈

    1000ms Tried: 79 Accepted: 47 Difficulty: 3 所属公司 : 阿里
    算法与标签>贪心算法

题目内容

笨蛋同学正在和天才同学博弈。现在在桌子上有 nnn 份食物,nnn 为偶数。第i i i份食物的美味度为ai a_iai​。

由笨蛋同学先手,笨蛋同学每次会拿走当前桌子上美味度最高的食物。随后,天才同学为了达成自己的目标,会从桌上剩余的食物中选择并拿走一份;两人交替行动,直至桌上无食物。

天才同学的目标是:让笨蛋同学吃到的食物总美味度与自己吃到的食物总美味度的差值尽量小(可能为负数)。天才同学绝顶聪明。

请问在两人都采取各自的策略下,这个差值最小是多少?

输入描述

每个测试文件均包含多组测试数据:第一行输入一个整数 T(1≤T≤2×105)T(1≤T≤2×10^5)T(1≤T≤2×105),代表数据组数。

每组测试数据描述如下:

  • 第一行输入一个正整数 n(2≤n≤2×105)n(2≤n≤2×10^5)n(2≤n≤2×105),表示食物份数。保证n n n为偶数。
  • 第二行输入 nnn 个正整数 a1,a2,…,an(1≤ai≤109)a_1,a_2,…,a_n(1≤a_i≤10^9)a1​,a2​,…,an​(1≤ai​≤109),表示食物的美味度。

除此之外,保证单个测试文件的 nn n之和不超过4×105 4×10^54×105。

输出描述

对于每一组测试数据,新起一行。输出一个整数,表示最小的差值。

样例1

输入

3
2
10 20
4
2 1 5 8
6
1 1 1 1 1 1

输出

10
4
0

说明

对于第一组样例:

  • 笨蛋同学先手,取走美味度为 202020 的食物;
  • 天才同学取走剩下美味度为 101010 的食物;
  • 最终差值为 20−10=1020−10=1020−10=10。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 2, 61ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?