题解:AT_abc369_d [ABC369D] Bonus EXP
题目大意:
有 nnn 个怪物,每个怪物有一个战力值 aia_iai ,你可以选择击败他或放走他,放走他没有经验值,击败他可以获得 aia_iai 的经验值,如果击败的数量是偶数,则还可以获得 aia_iai 的经验值,求最后能获得多少经验值。
分析
一眼 DP,按套路做。
定义状态:
dpi,0/1dp_{i,0/1}dpi,0/1:前 iii 只怪物,选了奇数个怪物的最大经验值或选了偶数个怪物的最大经验值。
答案:
max(dpn,0,dpn,1)\max(dp_{n,0},dp_{n,1})max(dpn,0,dpn,1)
状态转移方程:
dpi,0dp_{i,0}dpi,0
不选就是继承 dpi−1,0dp{i-1,0}dpi−1,0,选了就是在前 i−1i-1i−1 个中选了偶数个(因为选完这个变奇数了)的最大价值加上 aia_iai,即 dpi−1,1+aidp_{i-1,1}+a_idpi−1,1+ai
最后就是 dpi,0=max(dpi−1,0,dpi−1,1+ai)dp_{i,0}=\max(dp_{i-1,0},dp_{i-1,1}+a_i)dpi,0=max(dpi−1,0,dpi−1,1+ai)
dpi,1dp_{i,1}dpi,1
不选就是继承 dpi−1,1dp{i-1,1}dpi−1,1,选了就是在前 i−1i-1i−1 个中选了奇数个(因为选完这个变偶数了)的最大价值加上 2×ai2\times a_i2×ai,即 dpi−1,1+2×aidp_{i-1,1}+2\times a_idpi−1,1+2×ai
最后就是 dpi,1=max(dpi−1,1,dpi−1,0+2×ai)dp_{i,1}=\max(dp_{i-1,1},dp_{i-1,0}+2\times a_i)dpi,1=max(dpi−1,1,dpi−1,0+2×ai)
边界条件:
由于前 000 个不能选奇数个,所以 dp0,0=−∞dp_{0,0}=-\inftydp0,0=−∞
AC code
#include<bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
const int maxn=1e6+5;
int n,a[maxn],dp[maxn][2];
signed main(){
ios_base::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
dp[0][0]=-1e18;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
dp[i][0]=max(dp[i-1][0],dp[i-1][1]+a[i]);
dp[i][1]=max(dp[i-1][1],dp[i-1][0]+2*a[i]);
}
cout<<max(dp[n][0],dp[n][1]);
return 0;
}
题解:AT_abc369_d [ABC369D] Bonus EXP的更多相关文章
- 深入理解Oracle的imp/exp 和各版本之间的规则
Oracle数据中IMP/EXP工具可用于对数据进行迁移.IMP命令用于把Dmp文件从本地导入到远程数据库服务器,而EXP命令则是把数据从远程数据库服务器导出到本地的Dmp文件.其功能相当于Oracl ...
- exp导出出现:ORA-00904: "POLTYP": invalid identifier
相关文章: <exp导出出现:ORA-00904: : invalid identifier>:http://blog.itpub.net/23135684/viewspace-13 ...
- 以交互方式使用exp/imp的演示
众所周知,用exp/imp对数据库进行逻辑备份.包含表.用户,整个数据库,我们通常所熟悉的是使用命令行指定參数的方式来做的.以下我来演示一下不太经常使用的以交互方式的操作,操作非常easy.就是仅仅要 ...
- 【exp/imp】将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中
[exp/imp]将US7ASCII字符集的dmp文件导入到ZHS16GBK字符集的数据库中 1.1 BLOG文档结构图 1.2 前言部分 1.2.1 导读和注意事项 各位技术爱好者,看完本文后 ...
- 【WC2019】数树 树形DP 多项式exp
题目大意 有两棵 \(n\) 个点的树 \(T_1\) 和 \(T_2\). 你要给每个点一个权值吗,要求每个点的权值为 \([1,y]\) 内的整数. 对于一条同时出现在两棵树上的边,这条边的两个端 ...
- 【XSY2887】【GDOI2018】小学生图论题 分治FFT 多项式exp
题目描述 在一个 \(n\) 个点的有向图中,编号从 \(1\) 到 \(n\),任意两个点之间都有且仅有一条有向边.现在已知一些单向的简单路径(路径上任意两点各不相同),例如 \(2\to 4\to ...
- SDOI2017 Round2 详细题解
这套题实在是太神仙了..做了我好久...好多题都是去搜题解才会的 TAT. 剩的那道题先咕着,如果省选没有退役就来填吧. 「SDOI2017」龙与地下城 题意 丢 \(Y\) 次骰子,骰子有 \(X\ ...
- 算法(第四版)C# 习题题解——2.5
写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 查找更方便的版本见:https ...
- BZOJ5119 生成树计数(prufer+生成函数+分治FFT+多项式exp)
https://www.luogu.org/problemnew/solution/P4002 神树的题解写的很清楚了.稍微补充: 1.[x^i]ln(A(ax))=a^i[x^i]ln(A(x)), ...
- BZOJ5475 WC2019数树(prufer+容斥原理+树形dp+多项式exp)
因为一大堆式子实在懒得写题解了.首先用prufer推出CF917D用到的结论,然后具体见前言不搭后语的注释. #include<iostream> #include<cstdio&g ...
随机推荐
- 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
写在前面 最近,DeepSeek 发布的推理大模型 DeepSeek - R1 ,可以说是AI大模型领域杀出的一匹黑马.它在国外大模型排名 Arena 上成绩惊人,基准测试位列全类别大模型第三,在风格 ...
- 近期最值得关注的AI技术报告与Agent综述!
写在前面 如题,近期优秀的大模型层出不穷.作为技术人,需要阅读高质量的AI技术报告或论文,并且掌握未来应用趋势.本文将推荐一些高质量的AI技术报告,以及Agent智能体综述. 大模型技术报告 Deep ...
- 云安全CIA:关键信息保证的三大支柱
本文分享自天翼云开发者社区<云安全CIA:关键信息保证的三大支柱>,作者:每日知识小分享 随着云计算的迅速普及,云安全问题越来越受到关注.云安全涉及的范围广泛,涵盖了云端数据中心的物理安全 ...
- vue-element-template改为从后台获取菜单
一.后端接口获取菜单信息 1.返回数据样式 { "code": 20000, "data": [{ "menuId": "2000 ...
- Atcoder ABC329E Stamp 题解 [ 绿 ] [ 线性 dp ]
Stamp:难点主要在 dp 转移的细节与分讨上,但通过改变状态设计可以大大简化分讨细节的题. 观察 首先要有一个观察:只要某一个前缀能被覆盖出来,那么无论它后面多出来多少,后面的字符串都可以帮他重新 ...
- 从 14 秒到 1 秒:MySQL DDL 性能优化实战
1. 问题背景 MySQL版本:8.0.30 测试表数据量:200万 在 MySQL 中,研发人员最初执行了以下 SQL 语句,向表 t_email 中添加了一个允许为 NULL 的列 id3,并设置 ...
- NET中三种主机简单理解
在NET中有三个不同的主机: .NET WebApplication 主机,也称为最小主机. 这是.NET 6中的一个新特性,旨在提供最小的启动时间和内存消耗.最小主机只包括.NET运行时的最基本组件 ...
- Linux - Centos操作系统iso文件下载
CENTOS VERSION DOWNLOAD LINK CentOS 8.5(2111) Download CentOS 8.4(2105) Download CentOS 8.3(2011) Do ...
- 详解vue-router基本使用
来源:https://m.jb51.net/article/111499.htm 本篇文章主要介绍了详解vue-router基本使用,详细的介绍了vue-router的概念和用法,有兴趣的可以了解 ...
- Manus爆火,是硬核还是营销?
相信这两天小伙伴们应该被Manus刷屏了,铺天盖地的体验解读文章接踵而来,比如「数字生命卡兹克」凌晨爆肝的热文:「一手体验首款通用Agent产品Manus」.从公众号.朋友圈.抖音.央媒,都能看到Ma ...