首页 > 其他分享 >abc369D Bonus EXP

abc369D Bonus EXP

时间:2024-10-07 18:33:42浏览次数:2  
标签:std 怪兽 dp1 dp0 Bonus int EXP 经验值 abc369D

有N只怪兽,第i只怪兽的体力为A[i],需要按编号从小到大的顺序依次处理,对于每只怪兽可以选择打或不打,如果不打,经验值不变;如果打,将获得等同于怪兽体力的经验值。另外,对于第偶数次打的怪兽,经验值翻倍。求能获得的最大经验值。
1<=N<=2E5; 1<=A[i]<=1E9

分析:获得的经验跟奇偶性有关,设dp0[i]表示前i只怪兽打了偶数只的答案,dp1[i]表示前i只怪兽打了奇数只的答案。根据打或不打,以及奇偶性进行递推。

#include <bits/stdc++.h>
using i64 = long long;

void solve() {
	int N;
	std::cin >> N;
	std::vector<int> A(N+1);
	for (int i = 1; i <= N; i++) {
		std::cin >> A[i];
	}

	std::vector<i64> dp0(N+1), dp1(N+1);
	dp0[0] = 0;
	dp1[0] = -1E18;
	for (int i = 1; i <= N; i++) {
		dp0[i] = std::max(dp0[i-1], dp1[i-1] + 2 * A[i]);
		dp1[i] = std::max(dp1[i-1], dp0[i-1] + A[i]);
	}
	std::cout << std::max(dp0[N], dp1[N]) << "\n";
}

int main() {
	std::cin.tie(0)->sync_with_stdio(0);
	int t = 1;
	while (t--) solve();
	return 0;
}

标签:std,怪兽,dp1,dp0,Bonus,int,EXP,经验值,abc369D
From: https://www.cnblogs.com/chenfy27/p/18450409

相关文章

  • abc370D Cross Explosion
    有H行W列的格子,初始时每个格子中都是墙,接下来有Q组询问,格式为:R[i]C[i],表示在坐标(R[i],C[i])的地方放置炸弹,如果该位置是墙,则墙被炸掉,如果是空地,则上下左右最近的一格墙被炸掉。问最终还剩多少墙?1<=H,W;H*W<=4E5;1<=Q<=2E5;1<=R[i]<=H;1<=C[i]<=W分析:用set维护按行和列的......
  • E. Expected Power
    E.ExpectedPowerYouaregivenanarrayof$n$integers$a_1,a_2,\ldots,a_n$.Youarealsogivenanarray$p_1,p_2,\ldots,p_n$.Let$S$denotetherandommultiset(i.e.,itmaycontainequalelements)constructedasfollows:Initially,$S$isempt......
  • shell调用expect实现用户创建免密登录
    这是一个用于(批量或者免交互)创建用户免密的shell脚本通过shell的for循环和变量,实现批处理和免交互#!/bin/bashpassword="liwanliang"expect-c"spawnsshliwl@node084expect{\"*yes/no*\"{send\"yes\r\",exp_continue}......
  • C++ explicit&noexcept关键字
    C++explicit&noexcept关键字explicit关键字在C++中,explicit关键字用于避免编译器在特定情况下进行隐式类型转换。它主要作用于构造函数和转换函数,防止不必要或意外的类型转换发生,从而提高代码的安全性和可读性。1.作用于构造函数当一个构造函数只接受一个参数时,它通常会......
  • FIT5147 Data Exploration and Visualisation
    MonashUniversityFIT5147DataExplorationandVisualisationSemester2,2024ProgrammingExercise3:D3(5%)ProgrammingExercise3:D3Pleasecarefullyreviewalltherequirementsbelowtoensureyouhaveagoodunderstandingofwhatisrequiredforyo......
  • Reflection Conditional expectation
    Homework21Duedate:October9,2024(Wednesday).Pleasesubmityouranswerby11:59pm.Therearetotalof6questions.Q1(Reflection):ReadthesolutiontoHW1.Areyourownanswersinlinewiththesolutions?Ifnot,listthequestionsyoumissed.Dis......
  • pbootcms模板 后台升级程序后导致网站打不开 Parse error: syntax error, unexpec
    当PBootCMS后台升级程序后导致网站无法打开,并出现类似“Parseerror:syntaxerror,unexpected':',expecting'{'”的错误时,通常是由于PHP版本不兼容造成的。PBootCMS3.2版本及更高版本通常需要PHP7.0及以上版本的支持。解决方法检查当前PHP版本 首先确认当前服务器......
  • Nexpose 6.6.271 发布下载,新增功能概览
    Nexpose6.6.271forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,releaseSep26,2024请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序新增功能2024年9月26日Nex......
  • Rustup-init.exe安装后执行cargo run 报错:`link.exe` returned an unexpected error的
    版本:rustc1.81.0(eeb90cda12024-09-04)报错情况如下图:摸索了后,总结一下关键解决方法:从微软件官网:https://visualstudio.microsoft.com/zh-hans/downloads/找到选项“用于VisualStudio的工具”,在其子项中下载“VisualStudio2022生成工具”下载后安装时,在Visualstu......
  • msvc的__declspec(dllexport)
    一、__declspec(dllexport)的含义_declspec(dllexport) 是Microsoft特定的一个编译器扩展,用于指示编译器将符号导出到动态链接库(DLL)中。它并不是一个标准C++关键字或语法,而是 __declspec 关键字的一个特定用法。__declspec 是"declarespecifier"的缩写,表示声明说明符......