华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1029|回复: 2
打印 上一主题 下一主题

P3507 [POI2010]GRA-The Minima Game

[复制链接]

14

主题

106

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
跳转到指定楼层
楼主
发表于 2018-10-21 20:43:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给出N个正整数,AB两个人轮流取数,A先取。每次可以取任意多个数,直到N个数都被取走。每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大。在这样的情况下,最终A的得分减去B的得分为多少。

3                                               2
1 3 1

回复

使用道具 举报

14

主题

106

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
沙发
 楼主| 发表于 2018-10-21 20:43:57 | 只看该作者
经典数学博弈论
回复 支持 反对

使用道具 举报

14

主题

106

帖子

317

积分

中级会员

Rank: 3Rank: 3

积分
317
板凳
 楼主| 发表于 2018-10-21 20:44:15 | 只看该作者
本帖最后由 universehyf 于 2018-10-25 21:31 编辑
  1. #include<iostream>
  2. #include<algorithm>
  3. #include<cstdio>
  4. using namespace std;
  5. #define FOR(i,n,m) for(int i=n;i<=m;i++)
  6. const int MX=1000010;
  7. int n,a[MX],f;
  8. int main()
  9. {
  10.     cin>>n;FOR(i,1,n) cin>>a[i];
  11.     sort(a+1,a+n+1);
  12.     FOR(i,1,n) f=max(f,a[i]-f);
  13.     printf("%d",f);
  14.     return 0;
  15. }
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-11-2 04:30 , Processed in 0.124162 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表