Acwing.1388 游戏(区间DP对抗思想)
题目
玩家一和玩家二共同玩一个小游戏。
给定一个包含 N个正整数的序列。
由玩家一开始,双方交替行动。
每次行动可以在数列的两端之中任选一个数字将其取走,并给自己增加相应数字的分数。(双初始分都是 0分)
当所有数字都被取完时,游戏结束。
分更高的一方获胜。
请计算,如果双方都采取最优策略进行游戏,则游戏结束时,双方的得分各是多少。
输入格式
第一行包含整数 N。
后面若干行包含 N个整数,表示这个序列。注意每行不一定恰好包含一个数。
输出格式
共一行,两个整数,分别表示玩家一和玩家二的最终得分。
数据范围
2≤N≤100
数列中的数字的取值范围为 [1,200]
- 输入样例:
6
4 7 2 9
5 2
- 输出样例:
18 11
题解
import java.util.Scanner;/*** @author akuya* @create 2024-04-03-18:47*/
public class Main {static int N=105;static int n;static int w[]=new int[N];static int f[][]=new int[N][N];public static void main(String[] args) {Scanner scanner=new Scanner(System.in);n=scanner.nextInt();for(int i=0;i<n;i++){w[i]=scanner.nextInt();}for(int len=1;len<=n;len++){for(int i=0;i+len-1<n;i++){int j=i+len-1;if(len==1)//区间长度为1则只有一个可拿。f[i][j]=w[i];elsef[i][j]=Math.max(w[i]-f[i+1][j],w[j]-f[i][j-1]);}}int sum=0,d=f[0][n-1];for(int i=0;i<n;i++) sum+=w[i];//A+B=SUM A-B=d//A=SUM-D/2//B=SUM-D/2System.out.println((sum+d)/2+" "+(sum-d)/2);}
}
思路
首先这道题用的是区间DP,区间DP与背包问题一样有具体的模板,第一层遍历区间长度,第二层遍历左端点。dp数组的两个元素也利索当然得是区间的两个端点。
这道题是一道经典的对抗问题,要求比较谁更高,也就是使自己的分数与对方的分数的分差更大,因此dp数组为选择i到j区间里分差最大的选择。在每第i-j区域的选择里,我们可以从左或者从右选,在这次选择之前是对方选择,对方肯定会选择对自己更优的方案,也就是使自己方差和我们方差最大的方案,设为a(a=f[i+1][j]orf[i][j-1])。那么在这次选择之前,我们与对方的方差是-a。我们需要在这样的前提情况下选择与对方方差最大的方案,也就是-a+左或者-a加上右。
完成以上逻辑即可解答出本题。

相关文章:
Acwing.1388 游戏(区间DP对抗思想)
题目 玩家一和玩家二共同玩一个小游戏。 给定一个包含 N个正整数的序列。 由玩家一开始,双方交替行动。 每次行动可以在数列的两端之中任选一个数字将其取走,并给自己增加相应数字的分数。(双初始分都是 0分) 当所有数字都被…...
Numpy数组转换为csv文件
参考:Converting Numpy Array to CSV 在数据分析和处理中,经常会涉及到将数据从一个形式转换为另一个形式的操作。 其中,将Numpy数组转换为csv文件是一种常见的操作,因为csv文件是一种通用的数据存储格式,方便与其他软…...
替代安全指标(Surrogate Safety Measures (SSM) )
替代安全措施(Surrogate Safety Measures (SSM) )用于从数据中寻找接近碰撞,或可能发生(但实际没有发生)的碰撞事件。 SSM的两个合格标准: (1)它应该来自与碰撞直接相关的交通冲突&…...
usb_camera传输视频流编码的问题记录!
前言: 大家好,今天给大家分享的内容是,一个vip课程付费的朋友,在学习过程中遇到了一个usb采集的视频数据流,经过ffmpeg编码,出现了问题: 问题分析: 其实这个问题不难,关键…...
Linux安装nginx保姆级教程
文章目录 前言一、nginx安装(保姆级教程)1.安装nginx依赖2.安装wget3.创建nginx安装目录4.下载nginx5.查看下载好的nginx6.解压缩7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件8.安装nginx9.查看nginx安装目录并启动nginx10.网络请…...
leetcode-判断二分图
. - 力扣(LeetCode) 存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph ,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上,…...
算法day30 回溯6
332 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK …...
分享three.js实现乐高小汽车
前言 Web脚本语言JavaScript入门容易,但是想要熟练掌握却需要几年的学习与实践,还要在弱类型开发语言中习惯于使用模块来构建你的代码,就像小时候玩的乐高积木一样。 应用程序的模块化理念,通过将实现隐藏在一个简单的接口后面&a…...
gpt的构造和原理
gpt是序列预测模型。 问答是通过确定问答格式样本训练出来的!比如“Q:xxxx.A:xxx"本质还是根据前面的序列预测后面的序列。在自回归训练过程中,文本序列(可能包含问题和紧随其后的答案)被视为一个整体输入到模型…...
基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计
基于springboot实现IT技术交流和分享平台系统演示 摘要 我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域,发挥着重要的不可替换的作用。信息管理作为计算…...
K8S之Job和CronJob控制器
这里写目录标题 Job概念适用场景使用案例 CronJob概念适用场景使用案例 Job 概念 Job控制器用于管理Pod对象运行一次性任务,例如:对数据库备份,可以直接在k8s上启动一个mysqldump备份程序,也可以启动一个pod,这个pod…...
基于SSM的基于个人需求和地域特色的外卖推荐系统(有报告)。Javaee项目。ssm项目。
演示视频: 基于SSM的基于个人需求和地域特色的外卖推荐系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构&…...
哈佛大学商业评论 --- 第三篇:真实世界中的增强现实
AR将全面融入公司发展战略! AR将成为人类和机器之间的新接口! AR将成为人类的关键技术之一! 请将此文转发给您的老板! --- 本文作者:Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的,但大…...
华为ICT七力助推文化产业新质生产力发展
创新起主导作用的新质生产力由新劳动者、新劳动对象、新劳动工具、新基础设施等四大要素共同构成,符合新发展理念的先进生产力质态;具有高科技、高能效、高质量等三大突出特征。而通过壮大新产业、打造新模式、激发新动能,新质生产力能够摆脱…...
FastGpt流程
1.知识库 引入文本——>数据清洗 最好将pdf/ppt/xx转换成文本,在文本里面进行数据清洗(以防知识库删除后,数据清洗失效) 可以插图,将图片通过网页检查F12查看路径放进去 或者直接在csdn放,直接复制链接…...
怎么在UE游戏中加入原生振动效果
我是做振动触感的。人类的五感“视听嗅味触”,其中的“触”就是触觉,是指皮肤、毛发与物体接触时的感觉。触感可以带来更加逼真的沉浸式体验。但也许过于司空见惯,也是习以为常,很多人漠视了触感的价值。大家对触感的认知还远远不…...
【Hadoop技术框架-MapReduce和Yarn的详细描述和部署】
前言: 💞💞大家好,我是书生♡,今天的内容主要是Hadoop的后两个组件:MapReduce和yarn的相关内容。同时还有Hadoop的完整流程。希望对大家有所帮助。感谢大家关注点赞。 💞💞前路漫漫&…...
蓝桥杯刷题 前缀和与差分-[3507]异或和之和(C++)
题目描述 给定一个数组 Ai,分别求其每个子段的异或和,并求出它们的和。 或者说,对于每组满足 1≤L≤R≤n 的 L,R求出数组中第 L 至第 R 个元素的异或和。 然后输出每组 L,R 得到的结果加起来的值。 输入格式 输入…...
background背景图参数边渐变CSS中创建背景图像的渐变效果
效果:可以看到灰色边边很难受,希望和背景融为一体 原理: 可以使用线性渐变(linear-gradient)或径向渐变(radial-gradient)。以下是一个使用线性渐变作为背景图像 代码: background: linear-gradient(to top, rgba(255,255,255,0)…...
『大模型笔记』吴恩达:AI 智能体工作流引领人工智能新趋势
吴恩达:AI 智能体工作流引领人工智能新趋势 文章目录 一. 概述二. AI 智能体的设计模式2.1. 反思(Reflection)2.2. 使用工具(Tool use)2.3. 规划(Planning)2.4. 多智能体协作(Multi-agent collaboration)三. 最后总结四. 参考文献一. 概述 我期待与大家分享我在 AI 智能体方面…...
ESP32-C3开发环境搭建(VSCode+ESP-IDF)与串口占用疑难排查实战
1. ESP32-C3开发环境搭建全攻略 第一次接触ESP32-C3开发板时,我和大多数开发者一样,被环境搭建这个"入门杀"折腾得够呛。特别是使用合宙经典款开发板时,USB转串口芯片带来的各种"惊喜"让人措手不及。这里分享一套经过实战…...
OpenClaw可视化监控:百川2-13B-4bits任务执行状态的实时仪表盘搭建
OpenClaw可视化监控:百川2-13B-4bits任务执行状态的实时仪表盘搭建 1. 为什么需要可视化监控? 去年冬天,我部署了一个基于OpenClaw的自动化写作助手,对接本地运行的百川2-13B-4bits模型。最初几周运行良好,直到某天早…...
嵌入式软件开发规范与最佳实践指南
嵌入式软件开发最佳实践指南1. 项目概述1.1 嵌入式开发核心挑战现代嵌入式系统开发面临代码复杂度增加、团队协作需求提升以及产品迭代周期缩短等多重挑战。高效的开发流程和规范的编码实践成为保证项目成功的关键因素。1.2 开发环境配置建议推荐采用以下硬件配置方案ÿ…...
别再死磕公式了!用Ansoft Maxwell 2D给永磁无刷电机做仿真,保姆级操作流程(附避坑点)
永磁无刷电机仿真实战:从零掌握Ansoft Maxwell 2D的高效工作流 第一次打开Ansoft Maxwell 2D时,满屏的专业术语和复杂的参数设置界面确实容易让人望而生畏。作为从业十年的电机设计工程师,我完全理解这种面对专业仿真软件时的无力感——理论书…...
【实战指南】Spirent TCL 并发与新建连接测试全流程解析
1. Spirent TCL测试基础与环境搭建 第一次接触Spirent TestCenter时,我也被它强大的功能和复杂的界面吓到过。但实际用下来发现,只要掌握几个核心模块,就能完成大多数性能测试任务。这里先带大家快速搭建测试环境,为后续的并发和新…...
TI C2000 DSP新手必看:用CCS建第一个工程时,如何避免头文件找不到的坑?
TI C2000 DSP开发避坑指南:从零构建CCS工程的正确姿势 第一次打开Code Composer Studio(CCS)时,那个充满按钮和菜单的界面就像面对一架航天飞机的控制台——每个开关都看起来很重要,但完全不知道从哪下手。特别是当你在教程指导下创建了第一个…...
Llama-3.2V-11B-cot多轮对话效果展示:复杂技术问题拆解与解答
Llama-3.2V-11B-cot多轮对话效果展示:复杂技术问题拆解与解答 最近在测试各种大模型时,我特意找了一个比较“刁钻”的场景:让模型来解答一个复杂的系统设计问题。这类问题通常不是一两句话能说清的,它需要模型有很强的逻辑推理能…...
Qwen3.5-4B-Claude-Opus基础教程:llama.cpp量化参数对精度影响实测
Qwen3.5-4B-Claude-Opus基础教程:llama.cpp量化参数对精度影响实测 1. 模型介绍 Qwen3.5-4B-Claude-4.6-Opus-Reasoning-Distilled-GGUF是基于Qwen3.5-4B的推理蒸馏模型,特别强化了结构化分析、分步骤回答以及代码与逻辑类问题的处理能力。该版本以GGU…...
从美颜到自动驾驶:聊聊图像处理中的‘滤波’与‘采样’到底在干嘛?
从美颜到自动驾驶:聊聊图像处理中的‘滤波’与‘采样’到底在干嘛? 当你用手机自拍时轻轻滑动"磨皮"按钮,或是观看短视频平台自动修复的老电影,又或是坐在自动驾驶汽车里看它精准识别车道线——这些场景背后都藏着一套共…...
零基础学习数据库:用快马AI生成你的第一个可操作图书管理系统
作为一个刚接触数据库的小白,最近在InsCode(快马)平台上尝试做了一个图书管理系统项目,整个过程意外地顺利。这里记录下我的学习心得,希望能帮到同样零基础的朋友们。 为什么选择图书管理系统作为入门项目 图书管理系统包含了数据库最基础的…...
