lightoj 1031 被区间dp虐哭...看题解才学会

水下探测小白必看:单波束vs多波束声呐,5分钟搞懂核心区别 本文为水下探测新手清晰解析了单波束与多波束声呐的核心区别。单波束声呐如同精准的“手电筒”,进行逐点扫描,适用于定点测深和目标探测;而多波束声呐则像“聚光灯”,能一次性覆盖一个扇区,高效获取海底地形三维信息,是海底测绘和水下三维建模的理想选择。文章通过生动的比喻和对比表格,帮助读者快速理解两者原理、效率差异及适用场景。 阅读详情

You are playing a two player game. Initially there are n integer numbers in an array and player A and B get chance to take them alternatively. Each player can take one or more numbers from the left or right end of the array but cannot take from both ends at a time. He can take as many consecutive numbers as he wants during his time. The game ends when all numbers are taken from the array by the players. The point of each player is calculated by the summation of the numbers, which he has taken. Each player tries to achieve more points from other. If both players play optimally and player A starts the game then how much more point can player A get than player B?

Input
Input starts with an integer T (≤ 100), denoting the number of test cases.

Each case contains a blank line and an integer N (1 ≤ N ≤ 100) denoting the size of the array. The next line contains N space separated integers. You may assume that no number will contain more than 4 digits.

Output
For each test case, print the case number and the maximum difference that the first player obtained after playing this game optimally.

Sample Input
Output for Sample Input
2

4
4 -10 -20 7

4
1 2 3 4
Case 1: 7
Case 2: 10

这个题我只能想到最垃圾的那种转移,开三维….
前2是区间..第三是取的次数….
就很2…
而且因为多了1位没办法记忆化…
几乎就是裸的搜索…或者说是枚举……………………….
我他妈的好菜啊………………………………………………………………………
想想都炸一脸…
就没敢写…
也幸亏没写…….
dalao的思路是随便取一下,剩下的就可以进入递归….
想想确实是这样的….
毕竟a-(b-c)=a+c-b……、
这个虽然是小学学的东西
但是我完全没有想到可以用在这里…..
用在记忆化搜索里….
用在区间dp里……..
真的是要好好体会体会……………………
思路真是比我强的不知道哪里去了

#include<iostream>
#include<memory.h>
#include<algorithm>
#include<cstdio>
using namespace std;
int tu[101],qz[101],dp[101][101];
int dfs(int z, int y)
{
    if (dp[z][y] > -1000000)return dp[z][y];
    dp[z][y] = qz[y] - qz[z - 1];
    for (int a = z;a <= y;a++)
    {
        dp[z][y] = max(dp[z][y], qz[a] - qz[z - 1] - dfs(a+1 , y));
        dp[z][y] = max(dp[z][y], qz[y] - qz[a - 1] - dfs(z, a-1));
    }
    return dp[z][y];
}
int main()
{
    int T;
    cin >> T;
    int u=0;
    while (T--)
    {
        memset(qz, 0, sizeof(qz));
        memset(dp, 0, sizeof(dp));
        int n;
        cin >> n;
        for (int a = 0;a <= n;a++)for (int b = a+1;b <= n;b++)dp[a][b] = -1000000;
        for (int a = 1;a <= n;a++)
        {
            cin >> tu[a];
            qz[a] =qz[a - 1] + tu[a];
            dp[a][a] = tu[a];
        }
        printf("Case %d: %d\n", ++u, dfs(1, n));
    }
    return 0;
}
基于RTL8367S与XS2184的工业级POE交换机硬件设计全解析 本文深入解析基于RTL8367S与XS2184芯片的工业级POE交换机硬件设计,涵盖核心价值、芯片选型、原理图设计、PCB布局及可靠性验证等关键环节。重点探讨双芯片协同工作优势,如RTL8367S的自适应调度算法和XS2184的智能功率分配功能,为工业环境下的稳定供电与数据传输提供专业解决方案。 阅读详情

相关推荐

TI毫米波雷达人体生命体征(呼吸、心跳)信号提取算法(IWR6843ISK+DCA1000EVM)

本篇内容介绍的算法主要为传统的提取算法,但可实现在1m内呈现良好的检测效果,能够提取出非常可观的呼吸和心跳波形,但在超出1m的距离后便不适用这个算法了。远距离检测呼吸和心跳始终是这个领域一个很大的挑战。要实现远距离检测可在提取相位信号、分离呼吸和心跳信号上进行改进处理,例如线性解调提取相位、改进的VMD分离呼吸和心跳算法。

m0_61934621的博客 3万+

light oj 1031(区间dp入门)

Description You are playing a two player game. Initially there areninteger numbers in an array and playerAandBget chance to take them alternatively. Each player can take one or more n...

weixin_30773135的博客 153

VMware vSphere运维管理手册

ESXi 7.0 引入了一种系统存储布局,可对大型模块和第三方组件进行灵活的分区管理和支持,同时简化了调试操作。ESXi 7.0 系统存储更改在 ESXi 7.0 之前,分区大小固定不变,除 /scratch 分区和可选 VMFS 数据存储之外,且分区号是静态的,这些限制了分区管理。在 ESXi 7.0 中,分区整合为更少且更大的可扩展分区,具体取决于所使用的引导介质及其容量。ESXi 7.0 系统存储布局包含四个分区:分区适用情况类型系统引导存储引导加载程序和 EFI 模块。FAT16。

Avenjan优快云博客 3625

lightoj1031 - Easy Game【区间dp】

1031 - Easy Game     PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are playing a two player game. Initially there are n intege

走一步再走一步 720

利用Cesium引擎实现大疆智图B3DM三维模型的高效加载与可视化

本文详细介绍了如何利用Cesium引擎高效加载与可视化大疆智图B3DM三维模型。通过性能优化实战和典型应用场景分析,帮助开发者掌握模型预处理、渲染参数调优及高级功能实现技巧,提升大规模倾斜摄影数据的网页端展示效率。

weixin_29231725的博客 220

使用HART Server PC软件进行HART设备的组态、调试和分析的完整指南

HART协议是一种用于工业自动化中的双向通信协议,能够在4-20mA模拟信号的基础上叠加数字信号,从而实现设备的远程监控和管理。HART协议兼具模拟和数字通信的优点,被广泛应用于过程控制系统中。设备组态:通过软件可以对HART设备进行组态,配置设备参数。设备调试:支持设备的在线调试和故障诊断,方便快速解决问题。数据分析:提供设备运行数据的实时监控和历史数据分析功能。报表生成:支持生成各类报表,便于数据记录和管理。

qq_38334677的博客 2471

light oj 1031

C - Easy Game Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit Status Description You are playing a two player game. Initially there are n integer numbers

猿的进化 503

HighTec安装使用

HighTec安装使用

qq_43552564的博客 3835

UVA 10891 - Game of Sum(区间dp)

Problem E Game of Sum Input File: e.in Output: Standard Output   This is a two player game. Initially there are n integer numbers in an array and players A and B get chance to take them alternati

Remilia's 1726

Oracle11g下载与安装(windows)

一、Oracle11g下载 二、安装准备 三、执行安装步骤 四、测试连接 附:Oracle11g服务说明

欢迎订阅我的“JAVA全栈开发笔记(全)”专栏,价格优惠,仅需19.9元。 2万+

C#上位机开发:西门子/三菱PLC通信,新手直接上手

对着西门子S7协议文档看半天,连“DB块地址怎么写”都搞不懂;写三菱PLC代码时,分不清MC协议和Modbus的区别,代码改来改去连不上;好不容易跑通代码,换个PLC型号又报错,不知道哪里出问题;后来发现,新手学PLC通信根本不用先啃协议文档——先跑通“能通信”的代码,再慢慢理解底层逻辑,效率至少提升3倍。西门子PLC:用S7NetPlus库(新手最友好),实现以太网通信,支持S7-200 SMART/1200/1500;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 880

Light oj 1031 Easy Game(记忆化)

1031 - Easy Game PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are playing a two player game. Initially there are n integer n

左眼皮跳跳 661

图神经网络在金融风险传播分析中的应用

《图神经网络在金融风险传播分析中的应用》 摘要 本文旨在探讨图神经网络(Graph Neural Networks, GNN)在金融风险传播分析中的应用。首先,本文简要介绍了图神经网络的基本概念、发展历史以及其在各类应用场景中的重要性。接着,详细介绍了图神经网络的核心算法,包括图卷积神经网

AI天才研究院 1282

lightoj 1031 - Easy Game 博弈类区间DP

给定一个长度为n的序列,每次只能从两边选取任意个数字,然后两个足够 聪明的人玩这个游戏,问先手比后手选的值多多少。 对于[1,n]肯定先手A先选取一段区间,然后剩下的一段区间那么后手B就成了先手,同理,先后手交替进行。 对于A来言,下一步B先手的区间内B比A大x,那么这一步区间内A比B大 (A的选取值-x)。同理对B有效 那么所有的区间都变得相同了,都是找区间内先手比后手大多少,[1,n]以

440

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

LightOJ 1031 - Easy Game【区间dp】

题意:给一个序列,两个人轮流在序列的两边取任意个数的number,但每次只能从选定的那一边取连续的一个或一段,问取得数字的和的先手比后手多多少? 思路:  区间dp,处理出来数列的前缀和,dp[i][j] 表示 区间 [i, j] 之间的数取完,两者取数和差值最大的值。枚举区间内点k,假设先手取[i, k] 或者 [k+1, j]取最大值,对剩下部分减去已经计算出的dp [k+1][j] 或者dp...

青春苦瓜 164

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

LightOJ-1031 博弈 区间DP

1031 - Easy Game     PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are playing a two player game. Initially there are n intege

AC_Machine的博客 566

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

[LightOJ 1031]Easy Game[DP]

题目链接:[LightOJ 1031]Easy Game[DP] 题意分析: A和B玩游戏,A先手。规则为:每轮,每人至少从左边开始或者从右边开始取1个数字以上,取的数字之和即为这个人得到的分数。现在问:在两人都采取最优策略的情况下,A和B的差值最大为多少? 解题思路: 定义:dp[i][j]为,拿完区间为[i,j]时,A能取到的最大分值,那么最终答案就是dp[1][n] - (sum -

闲停 477

lightoj 1031 - Easy Game 【区间dp】

题目链接:lightoj 1031 - Easy Game 1031 - Easy Game PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB You are playing a two player game. Initially there are n intege

世界很大 778

博弈背景下的dp与记忆化搜索 (两个例题 LightOJ - 1031 Easy Game HDU - 4597 Play Game)

对于某些dp,是在博弈的基础上的,针对这些题目,我们不妨设 dp[某一阶段],为该阶段先手的最优子结构 那么对于他的状态转移: dp[下一状态] = max(忽视对手的最优情况 - dp[上一状态]) 尝试理解:因为博弈中,一个状态的先手,在上一状态是后手,而对手是先手,所以dp[上一状态]其实是对手的最优状态,所以有在忽视对手的最优情况 - 上一状态对手的最优情况。 比较抽象,下面看两个...

平凡人Kalzn的博客 353

Light OJ 1031 - Easy Game(区间dp)

题目链接:http://www.lightoj.com/volume_showproblem.php?problem=1031 题目大意:两个选手,轮流可以从数组的任意一端取值, 每次可以去任意个但仅限在一端, 他们的得分分别是取得所有值的和。现在求这两个选手得分差值的最大值。 解题思路:设dp[i][j]代表从i到j这个区间中,所能够得到的最大差值,只需要枚举其中i到j之间的一个数...

den11551的博客 140

LightOJ1031 Easy Game(区间DP)

我可能真想不到这题是区间DP,不过知道是区间DP想了下就AC了。 dp[i][j]表示局面为ai...aj先手能获得与后手得分的最大差值 那么转移到当前状态就是枚举中间的位置,分成两边,其中一边先手全部取另一边就是新的局面,后手变成新的先手的局面,而后手也会采取最优策略也会尽量让剩下这个局面差值最大。方程如下: dp[i][j] = max( sum[i][j] , sum[i][...

dengliugong3918的博客 139

lightoj 1031 区间dp

题目链接:http://lightoj.com/volume_showproblem.php?problem=1031 #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const in...

weixin_30387663的博客 74

LightOj 1031 区间dp

F - Easy Game LightOJ - 1031You are playing a two player game. Initially there are n integer numbers in an array and player A and B get chance to take them alternatively. Each player can take one or m...

keep coding 405

LightOJ 1031 Easy Game(区间DP)

题意:A,B轮流从左或从右以最优策略选出连续的几个数,直至选完,求两人所选数和差的最小值。 思路:dp[i][j]表示先手者A选区间[i, j]的最优策略和。A要让B得到的和最小,所以先求出让B最优策略得到的最小数字和,即 tmp = min(dp[i][k], dp[k+1][j]),其中 i #include #include #include #include #include

ACMiao的博客 442

lightoj 1031 Easy Game (区间dp 博弈)

lightoj 1031 Easy Game (区间dp 博弈)

Tc的专栏 1512

Lightoj 1031(区间dp)

链接:点击打开链接 题意:给出一串数字,A和B只能每次从这串数字的左边或者右边拿一些数,A先手,问最后A比B拿到的数字和最多能多多少 代码: #include #include #include #include #include #include using namespace std; int sum[105],dp[105][105]; int main()

stay_accept的专栏 684
上一篇: lightoj 1030 水概率
下一篇: lightoj 1032 数位dp
NineFailure
博客等级 码龄11年 22粉丝 317原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值