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

基于BQ24610的24V电池充电板 转自我的博客 本文的主要目的在于传播基本的阅读datasheet的能力,以及PCB设计需要注意的基本问题。 本次需要设计的是24V动力锂电池充电电路。 原理图设计 参考官方参考电路 为了快速设计电路,自然是参考官方参考电路,选择Typical Application。 做细微的参数调整 由于我们的需求是给24V的电池充电,所以需要稍微修改一下原理图,接下来需... 阅读详情

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;
}
PCIE2.0/PCIE3.0/PCIE4.0/PCIE5.0接口的带宽、速率计算 一、PCIE接口速率: 二、PCIE相关概念: 传输速率为每秒传输量GT/s,而不是每秒位数Gbps,因为传输量包括不提供额外吞吐量的开销位; 比如 PCIe 1.x和PCIe 2.x使用8b / 10b编码方案,导致占用了20% (= 2/10)的原始信道带宽。 GT/s —— Giga transation per second (千兆传输/秒),即每一秒内传输的次数。重点在于描述物理层通信协议的速率属性,可以不和链路宽度等关联。 Gbps —— Giga Bits Per Second 阅读详情

相关推荐

云桌面如何部署?云桌面系统方案部署详细教程

云桌面作为一种比较新的技术工具,核心解决的场景是方便设计师的灵活办公,本身技术就是非常的灵活性,所以在安装部署方面青椒云也做到了十足的灵活。

2301_79113726的博客 1634

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

室内无人机自主定位:融合Mid360激光雷达与光流传感器的无GPS导航实践

本文详细介绍了室内无人机自主定位技术,通过融合Mid360激光雷达与光流传感器实现无GPS导航。文章分析了技术挑战、硬件配置、算法优化及实战调试,展示了在复杂室内环境中如何实现厘米级定位精度,为仓库巡检、隧道勘测等场景提供可靠解决方案。

weixin_30500105的博客 533

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

合成孔径雷达(SAR)的常见工作模式

随着星载SAR技术研究的深入发展,单一的条带模式已经无法满足当今时代的需求,因此许多新的工作模式相继被提出。这些新模式在分辨率和测绘宽度等方面都有所提高,接下来将简要介绍几种常用的工作模式。

m0_51390495的博客 2315

云服务器安装ros教程

要在 CentOS 7 系统上安装 RouterOS,您需要将 RouterOS 安装为虚拟机或直接安装到物理硬盘上。这里提供的是将 RouterOS 安装到物理硬盘上的步骤,这将完全替换现有的 CentOS 7 系统。请确保您已经备份了所有重要数据。

qq_37662563的博客 2145

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

UG二次开发避坑指南:如何正确配置Python环境让NXOpen脚本跑起来?

本文详细介绍了UG/NX二次开发中Python环境配置的全流程与NXOpen脚本调试技巧,帮助开发者避开常见陷阱。从NXOpen架构解析到Python解释器版本匹配,再到环境变量设置与路径问题处理,提供了一套经过验证的配置方案,确保脚本顺利运行。

weixin_33859135的博客 450

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

gnuradio+b210实现FM收音机

gnuradio+b210实现FM收音机环境介绍FM接收1 Flow Graph2 变量参数FM发射1 Flow Graph 环境介绍 Name Version gnuradio 3.7.14.0 uhd 3.15.0.0 ubuntu 18.04 usrp b210 参考 https://www.ijedr.org/papers/IJEDR1702038.pdf Audio File Transmission using GNURADIO and USRP FM接

u011745228的博客 5127

120、NPU的Mythic M1076:模拟存算一体NPU

这篇文章分享了作者调试Mythic M1076模拟存算一体NPU的实战经验,主要包含以下要点: 硬件设计陷阱:参考电压输入必须使用低ESR电容,普通贴片电容会导致模拟计算阵列工作异常。 核心技术原理: 采用真正的存算一体架构,将权重存储为模拟电压 使用浮栅晶体管存储权重,通过电流叠加实现乘法运算 包含108个计算单元阵列(Tile),每个256×256规模 使用注意事项: 编程模型特殊,需要依赖SDK自动映射网络层 存在6-8位有效精度限制,需用量化感知训练 功耗特性独特,静态偏置电流占主要功耗 调试手段有

m0_50546716的博客 122

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

基于YOLOv11的气象目标检测系统:台风眼与钩状回波检测

气象目标检测是计算机视觉在气象领域的重要应用,对台风预警和强对流天气监测具有重要意义。本文详细介绍了一种基于YOLOv11的气象目标检测系统,能够有效识别卫星云图中的台风眼和雷达图中的钩状回波。系统包含完整的数据处理流程、模型训练策略以及用户友好的Web界面。我们使用了公开的气象数据集进行训练和验证,并提供了完整的实现代码。实验结果表明,本系统在气象目标检测任务中达到了较高的准确率和实用性。关键词:气象目标检测;YOLOv11;台风眼检测;钩状回波;深度学习;计算机视觉台风眼检测数据集。

YOLO 474

lightoj 1031 - Easy Game 博弈类区间DP

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

440

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LightOJ 1031 - Easy Game【区间dp】

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

青春苦瓜 164

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

[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、付费专栏及课程。

余额充值