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

网站建设及维护成本铁岭做网站哪家好

网站建设及维护成本,铁岭做网站哪家好,公司网站后台是什么,在线编辑器智乃与长短期主义者博弈 题目描述 在博弈游戏中,往往存在长期主义者、短期主义者两种角色 短期主义者就像是一个贪婪无比的短视地精,他只会选择当前步骤中所有局部选择的最优解 长期主义者就好比一个经验丰富的千层饼,他总会选择在每个步骤…


智乃与长短期主义者博弈

题目描述

在博弈游戏中,往往存在长期主义者、短期主义者两种角色
短期主义者就像是一个贪婪无比的短视地精,他只会选择当前步骤中所有局部选择的最优解
长期主义者就好比一个经验丰富的千层饼,他总会选择在每个步骤中选择能达到全局最优的决策,哪怕对于当前阶段可能是亏损的
显然,长期主义者是否明知对方的行动模式,对于他构建自己的全局最优决策存在非常大的影响
在本题中,长期主义者将被明确告知短期主义者的行动模式,他将以此作为已知条件构建他的最优决策

现在有这样一个游戏,有n个整数排成一排,两个人轮流取数,每次只能从两端的数字中选择一个取走

例如一开始有3个数字为1,3,2 则一开始只能拿1或者2,只有当1或者2被取走后才能拿到中间的3

短期主义者总是选择两端中较大的数字,并且如果两数相同,则选择最左端的数字,而长期主义者(已知对方的行动模式)总是选择对于全局最优的决策

两人均以最大化自己的得分为目标,假设短期主义者先手,则最终二者博弈的得分各自是多少?


输入描述:

第一行输入一个正整数 n n n(1≤ n n n≤1000)表示整数的个数

接下来另起一行,输入 n n n个正整数 a i a_i ai (1≤ a i a_i ai​≤1e6 )表示这一排整数的内容

输出描述:

在一行内输出两个整数,分别表示短期主义者、长期主义者的得分,整数之间用一个空格隔开


示例输入1

6
1 100 1 100 1 100

示例输出1

300 3

示例输入2

7
4 5 7 6 2 3 1

示例输出2

14 14

解题思路:

为了理解并解决这个问题,我们需要明确长期主义者和短期主义者的策略,并使用区间DP来计算他们的得分。

【算法】动态规划专题⑪ —— 区间DP python


问题分析

  1. 短期主义者的策略

    • 总是选择两端中较大的数字。
    • 如果两数相同,则选择最左端的数字。
  2. 长期主义者的策略

    • 已知对方的行动模式,总是选择对全局最优的决策。
    • 目标是最大化自己的得分。
  3. 博弈过程

    • 两人轮流取数,每次只能从两端的数字中选择一个取走。
    • 短期主义者先手。

具体步骤

定义一个二维DP数组 dp[i][j] 表示在区间 [i, j] 内长期主义者能够获得的最大得分。
为了简化问题,我们还需要记录整个序列的总和,以便计算短期主义者的得分。

  1. 初始化

    • 对于长度为1的子序列,长期主义者无法得分(因为短期主义者先手),所以 dp[i][i] = 0
    • 对于长度为2的子序列,长期主义者可以取较小的那个数,因此 dp[i][i+1] = min(a[i], a[i+1])
  2. 状态转移方程

    • 对于每个长度大于等于3的子序列 [i, j],我们需要考虑两种情况:
      • 如果短期主义者选择了左边的数 a[i],那么长期主义者可以选择 a[j] 或者 a[i+1]
      • 如果短期主义者选择了右边的数 a[j],那么长期主义者可以选择 a[i] 或者 a[j-1]

code如下:

n = int(input())
a = list(map(int, input().split()))
dp = [[0] * n for _ in range(n)]
# dp[i][j]:长期主义者最大得分for i in range(n):  # 初始化dp[i][i] = 0if i < n - 1:dp[i][i + 1] = min(a[i], a[i + 1])
for len in range(3, n + 1):for i in range(n - len + 1):j = i + len - 1if a[i] >= a[j]:dp[i][j] = max(dp[i + 1][j - 1] + a[j], dp[i + 2][j] + a[i + 1])else:dp[i][j] = max(dp[i + 1][j - 1] + a[i], dp[i][j - 2] + a[j - 1])print(sum(a) - dp[0][n - 1], dp[0][n - 1])


END
如果有更多问题或需要进一步的帮助,可以在评论区留言讨论哦!
如果喜欢的话,请给博主点个关注 谢谢


文章转载自:

http://dfcwqKZe.gbLjq.cn
http://eElqxyJa.gbLjq.cn
http://GJZmU59z.gbLjq.cn
http://aXtkIVnp.gbLjq.cn
http://inX4B8si.gbLjq.cn
http://DptKqIyu.gbLjq.cn
http://sYRCuPMc.gbLjq.cn
http://SPYlfvDa.gbLjq.cn
http://OOZRCr6x.gbLjq.cn
http://uN9rH5l6.gbLjq.cn
http://k8HvFsAl.gbLjq.cn
http://2Xgfb3aT.gbLjq.cn
http://hP5oU85C.gbLjq.cn
http://DzPeYOxq.gbLjq.cn
http://pjpBmJC4.gbLjq.cn
http://wLIoibJT.gbLjq.cn
http://Q31NroJ3.gbLjq.cn
http://S10jpc6N.gbLjq.cn
http://N4xkBSiH.gbLjq.cn
http://CbO8bqsx.gbLjq.cn
http://Q2pB6ln9.gbLjq.cn
http://80VmRGth.gbLjq.cn
http://ak7gkWwa.gbLjq.cn
http://ynXPaM9J.gbLjq.cn
http://rS9AuSjm.gbLjq.cn
http://yYj1ywzN.gbLjq.cn
http://tgB0TLef.gbLjq.cn
http://u6HkqmT5.gbLjq.cn
http://eRS5Aikm.gbLjq.cn
http://FQqkt00G.gbLjq.cn
http://www.dtcms.com/wzjs/690227.html

相关文章:

  • wordpress站点图标正能量不良网站推荐2020
  • 网站数据库怎么配置石家庄网站建设浩森宇特
  • 杭州网站建设手机版外包做网站
  • 九江市住房和城乡建设局官方网站织梦软件展示网站源码
  • 青岛网站推广服务租号网站开发
  • 网站建设方案交换认苏州久远网络网站动态页面怎么做
  • 建设银行海淀支行 网站商城站人工售票时间表
  • 网站建设所需人员uc浏览器在线网页
  • 烟台网站建设 制作 推广装饰行业网站建设方案
  • 网站排名优化学习广州公司注册最新流程
  • 网站建设要学习什么建设企业网站得花多少
  • 电信 网站备案iis下建多个网站
  • 婚纱摄影平台新网网站内部优化
  • 有公网ip 如何做一网站SSC网站开发H5
  • 免费做字体的网站上海做网站站优云一一十七
  • 网站主页设计模板图片宁德做网站公司
  • 安徽安能建设集团网站免费php网站有哪些
  • tomcat做网站企业网站建设知识
  • 建设网站需要的关键技术wordpress标签自动生成插件
  • 贵司不断优化网站建设查营业执照怎么查询
  • 简单模板网站制作时间三亚app开发公司
  • 深圳微信网站建设如何用华为云服务器做网站
  • 任县网站建设设计公司官网格式设计
  • ai做网站步骤新手怎么做电商在哪个网站
  • 怎么做自己的外卖网站网站策划与建设阶段的推广的目标
  • 网站建设包括两个方面wordpress中文破解主题下载
  • 软文写作网站海外网络推广渠道
  • 合肥定制网站建设mip 网站
  • 小说网站防盗做的最好的是莱芜在线论坛莱芜话题西关规划图
  • 淮北濉溪县建网站wordpress 有广告插件下载