当前位置: 首页 > news >正文

我真的博了

其实标题指的是博弈论。

[AGC002E] Candy Piles

桌子上有 \(N\) 堆糖果。每堆糖果有 \(a_i\) 颗糖果。

Snuke 和 Ciel 正在玩游戏。他们轮流走。Snuke 先走。在每个回合中,当前玩家必须执行以下两个操作之一:

  • 选择剩余糖果数量最多的一堆,然后吃掉那堆糖果中的所有糖果。
  • 从每堆剩下的一颗或多颗糖果中,吃一颗糖果。

吃了桌上最后一块糖的玩家输掉了比赛。确定如果两个玩家都以最佳方式玩游戏,哪个玩家会赢。

sol

牛逼题目。

你可以先把石子的个数从大到小排序,如下图。

转化成网格图就是

image

那么上面的实线就是必败点,我们相当于每次往右走或者往上走 (相当于吃一堆或者全部吃一颗)。

那么向上走和向右走都是必败点的点就是必胜点,反之就是必败点,画出来长这样(O 为必败):

注意到一个对角线都是一样的,所以我们直接找到一个最大的正方形使得其够不着边界。

然后直接设其右上方顶点为 (i,i) 。当它到最上面且不在边界上的点的距离和最右面且不在边界上的点的距离其中一个为奇数时,这个点为必败点,反之这个点为必胜点。

CF794E Choosing Carrot

下个月就是奶牛Z的生日啦,为了给奶牛Z购买生日礼物,奶牛A和奶牛B决定去挑选奶牛Z最喜欢的青草来作为送给奶牛Z的生日礼物。
现在,奶牛A和奶牛B买来了n堆青草,从左数起,第i堆青草的甜度为ai。奶牛A认为奶牛Z喜欢甜的青草,而奶牛B认为奶牛Z喜欢不甜的青草。因此,奶牛A希望选出来的青草是最甜的,奶牛B希望选出来的是最不甜的青草。
为了解决这个问题,奶牛A与奶牛B决定玩一个游戏,他们俩每次可以从两端的青草开始,选择其中一堆并把这一堆青草吃掉,最后剩下的那一堆青草就是送给奶牛Z的生日礼物,奶牛A先开始吃。
在玩游戏之前,奶牛B去上了一次厕所,奶牛A乘机进行了K次操作,每次操作也是按照要求从这些草堆当中,选择两端的草堆并吃掉其中一堆。在奶牛B回来之后,同样也是奶牛A先开始吃。
奶牛A想知道,对于每一个K(0≤K≤n-1),最后送给奶牛Z的青草甜度分别是多少?

sol

最简单。

讨论 \(k=0\) 的情况:

\(mid=(n+1)/2\)

奇数的答案是 \(\max(\min(a_{mid},a_{mid-1}),\min(a_{mid},a_{mid+1}))\)

偶数的答案是 \(\max(a_{mid},a_{mid-1})\)

然后对于这个 \(k\) 的不同,相当于就是把区间增长了,反正写个 st 表当 rmq 做就行了。

[ARC116F] Deque Game

给定 \(K\) 个数列。第 \(i\) 个数列 \(A_i\) 的长度为 \(N_i\)

高桥君和青木君将用这些数列进行游戏。直到所有数列都变为长度 \(1\),高桥君和青木君轮流进行以下操作:

  • 选择一个长度至少为 \(2\) 的数列,删除其第一个元素或最后一个元素。

高桥君先手。高桥君希望最大化最后剩下的 \(K\) 个元素的总和,青木君则希望最小化该总和。

当双方都采取最优策略时,请输出最后剩下的 \(K\) 个元素的总和。

sol

困难至极。

发现当 \(k=1\) 时跟上面的是一样的,所以奇偶数的讨论可以直接扔过来。

当这个队列长度为奇数时,且先手先手时,答案是 \(\min(\max(a_{mid},a_{mid-1}),a_{mid}) \leq a_{mid}\)

当这个队列长度为奇数时,且先手后手时,答案是 \(\max(\min(a_{mid},a_{mid-1}),a_{mid}) \geq a_{mid}\)

所以在这个奇数的情况下先手更优一点。

然后你考虑偶数的情况,偶数是先手更优一些。

所以他们两个会优先把偶数给吃完,然后再吃奇数。

但是偶数每吃掉一个会导致先后手置换,所以你需要按照这个的 先手答案 - 后手答案排序去吃,这样一定是最优的。

然后你再去吃奇数,这个不会换先后手顺序,直接算就好了。

[AGC010D] Decrementing

黑板上写有 \(N\) 个整数。第 \(i\) 个整数为 \(A_i\),这些数的最大公约数为 \(1\)

高桥君和青木君用这些数进行游戏。游戏由高桥君先手,双方轮流进行如下操作:

  • 从黑板上选择一个大于等于 \(2\) 的数,将其减去 \(1\)
  • 然后,计算黑板上所有数的最大公约数 \(g\),并将所有数都除以 \(g\)

当黑板上所有数都变为 \(1\),且无法再进行操作时,无法操作的一方判负。假设双方都采取最优策略,问哪一方会获胜。

sol

儿子题目。

\(\sum_{i=1}^N (A_i-1)\),如果没有除去最大公约数的话就是看奇偶性,奇数先手必胜。

但是现在有这个除法了,不难发现只有除去 \(2\) 的倍数才能改变奇偶性,所以说看什么情况才能除去 \(2\)

发现除去 2 的情况当且仅当只有一个奇数,遇到这种情况递归处理就好了。

http://www.sczhlp.com/news/172973/

相关文章:

  • 南京企业网站wordpress瀑布流风格
  • 网站备案被注销吗学动漫去哪个学校
  • 林州做网站关于插画的网站
  • 网站源码配置数据库在拿大一网页设计代码英语
  • 如何在百度举报网站上海人才网网址
  • 旅游网站的功能结构图业之峰
  • excel如何做超链接网站网站建设小组
  • 网站建设维护是干什么小程序定制开发方案
  • 衡水网络推广 衡水网站建设室内设计自学教材
  • 建设银行手机行网站无忧网站建设推荐
  • 东莞市外贸网站建设公司管理咨询和战略咨询
  • 中山中小型网站h5页面制作结论和心得
  • 3合1网站建设电话wordpress数据库版本
  • 怎样做淘宝联盟的网站昆明搜索引擎推广
  • 云南网站制作案例深圳app开发公司有推荐的吗
  • 农业网站电子商务平台建设方案用dw做网站的代码
  • 网站的运营与维护手机网站大全排行
  • 好学校平台网站模板下载安装建设银行滇龙行网站
  • 医院网站建设的宗旨wordpress模版xiu主题6.0
  • 长沙做网站seo优化外包厦门网站搜索引擎优化
  • 昆山市有没有做网站设计的小程序端
  • 苏州书生商友专业做网站wordpress爆破
  • php网站开发ppt专业网站建设86215
  • 做零食的网站有哪些做网站泊头
  • 图书馆网站开发的前期准备小程序开发平台怎么选择
  • 烟台高新区建设局网站上海中学官网登录
  • 接技术标做网站app跟网站的区别
  • Go语言之接口与多态 -《Go语言实战指南》 - 指南
  • 我的联想小新潮7000笔记本的优化
  • 二分图最大匹配 输出具体方案