第八届“英拿科技杯”上海高校金马程序设计联赛暨东华大学邀请赛——源石虫(基础DP)

server/2024/9/19 0:46:15/ 标签: 算法, DP

题源

源石虫
(小声哔哔:这题当时脑子抽了死活没想到是DP,一直用贪心试,拿来凑个DP专题的数)

代码

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define For for (ll i = 1; i <= n; i++)
#define rFor for (ll i = n; i > 0; i--)
#define rep(i, sta, end) for (ll i = sta; i <= end; i++)
#define rrep(i, end, sta) for (ll i = end; i >= sta; i--)
#define ALL(x) for (auto item : x)inline void solve() {ll n,a,b;cin>>n>>a>>b;vector<ll> w(n+10),cla(n+10);vector<ll > bug1(n+10),bug2(n+10);For{cin>>w[i];}For{cin>>cla[i];}For{if(cla[i]==1){bug1[i]=max(bug1[i-1],bug1[max(i-1-a,0LL)]+w[i]);bug2[i]=bug2[i-1];}else {bug1[i]=bug1[i-1];bug2[i]=max(bug2[i-1],bug2[max(0LL,i-1-b)]+w[i]);}}cout<<bug1[n]+bug2[n]<<endl;
}
int main() {ios::sync_with_stdio(0);cin.tie(0), cout.tie(0);ll num = 1;//cin >> num;while (num--) {//cout << "Main function execute properly before solve function " << endl;solve();//	cout << "Main function execute properly after solve function" << endl;}
}

KEY part解析

For{if(cla[i]==1){bug1[i]=max(bug1[i-1],bug1[max(i-1-a,0LL)]+w[i]);bug2[i]=bug2[i-1];}else {bug1[i]=bug1[i-1];bug2[i]=max(bug2[i-1],bug2[max(0LL,i-1-b)]+w[i]);}}

主要矛盾点在于如何解决杀死了这个虫子就不能杀那一个之间的矛盾问题,表现在DP上的思想主要是,比较当前的虫子不杀死(直接延续上一个位置所能获得的最大金币)和杀死这个虫子(追溯到最近能杀死的与他类型相同的虫子的位置所能获得的最大金币)之间两种选择哪一个爆的金币更多。


http://www.ppmy.cn/server/43142.html

相关文章

内网信息收集

常规信息类收集&#xff0c;应用、服务、权限等 用户信息收集 查看本机用户列表 net user 获取本地管理员信息 net localgroup administrators 查看当前在线用户 quser quser user query user || qwinsta 查看当前用户在目标系统中的具体权限 whoami /all 查看当前…

牛马真的沉默了,入职第一天就干活

入职第一天就干活的&#xff0c;就问还有谁&#xff0c;搬来一台N手电脑&#xff0c;第一分钟开机&#xff0c;第二分钟派活&#xff0c;第三分钟干活&#xff0c;巴适。。。。。。 打开代码发现问题不断 读取配置文件居然读取两个配置文件&#xff0c;一个读一点&#xff0c;…

PX4使用yolo仿真环境搭建

文章目录 前言一、修改机架sdf文件二、安装yolo三、运行 前言 ubuntu20.04 PX4 1.13.3 已配置好PX4 ROS gazebo环境 一、修改机架sdf文件 将双目相机加到仿真的iris机架上 修改下图文件 添加如下&#xff1a; <include><uri>model://stereo_camera</uri>…

C# 集合(三) —— Stack/BitArray类

总目录 C# 语法总目录 集合三 Stack/BitArray 1. Stack2. BitArray 1. Stack 栈&#xff0c;先进后出 Stack<string> strArr new Stack<string>(); strArr.Push("tom"); strArr.Push("jerry"); strArr.Push("lily"); Console.Wri…

CSS3开发实践难点

目录 响应式设计与流体布局动画与交互性能优化CSS预处理器与后处理器CSS-in-JSCSS高级技巧视觉与滤镜效果工具与工作流实验性响应式设计与流体布局 媒体查询(M

python中的可哈希和不可哈希

python 中的每一个对象都有一个哈希值&#xff0c;哈希值是一个固定长度的整数&#xff0c;它通常用于快速比较对象的相等性。 如果在对象的生命周期里该对象的哈希值从未改变&#xff0c;那么这个对象是可哈希的&#xff08;hashable&#xff09;&#xff0c;也称为不可变的。…

AUTOMATIC1111/stable-diffusion-webui/stable-diffusion-webui-v1.9.3

配置环境介绍 目前平台集成了 Stable Diffusion WebUI 的官方镜像&#xff0c;该镜像中整合如下资源&#xff1a; GpuMall智算云 | 省钱、好用、弹性。租GPU就上GpuMall,面向AI开发者的GPU云平台 Stable Diffusion WebUI版本&#xff1a;v1.9.3 Python版本&#xff1a;3.10.…

使用向量叉乘,来计算一个点到一条线的距离

1. 使用向量叉乘&#xff0c;来计算一个点到一条线的距离 如果说一条线段的两个端点坐标分别是&#xff0c;A&#xff0c;B点&#xff0c;到线段外一点P的距离。 我们可以把&#xff0c;这三个点连接起来&#xff0c;得到一个三角形&#xff0c;此时的步骤就是这样的 计算这个…

docker 清空所有镜像日志

Docker清空所有镜像日志流程 1. 查看当前运行的容器 首先&#xff0c;我们需要查看当前正在运行的容器&#xff0c;以确定需要清空日志的容器。 可以使用以下命令查看当前正在运行的容器&#xff1a; docker ps 1. 2. 停止所有运行中的容器 在清空镜像日志之前&#xff0c;我…

RobotFramework测试框架(1)--官网示例

示例 项目 RF官网提供了几个例子 Examples Overview | ROBOT FRAMEWORK Vehicle Insurance App 根据下面的例子可以看到&#xff0c;RF的测试文件&#xff0c;包含 *** Settings ***-用来引入库和资源 *** Variables *** 用来指定变量&#xff0c;在测试用例中可使用${}来…

Superset,基于浏览器的开源BI工具

BI工具是数据分析的得力武器&#xff0c;目前市场上有很多BI软件&#xff0c;众所周知的有Tableau、PowerBI、Qlikview、帆软等&#xff0c;其中大部分是收费软件或者部分功能收费。这些工具一通百通&#xff0c;用好一个就够了&#xff0c;重要的是分析思维。 我一直用的Tabl…

SpringBoot2.0.x旧版集成Swagger UI报错Unable to infer base url...解决办法

一、问题描述 1.1项目背景 SpringBoot2.0.9的旧版项目维护开发&#xff0c;集成Swagger-ui2.9.2无法访问的问题。不用想啊&#xff0c;这种老项目是各种过滤器拦截器的配置&#xff0c;访问不到&#xff0c;肯定是它们在作妖。懂得都懂啊&#xff0c;这里交给大家一个排错的办…

【fastapi+mongodb】使用motor操作mongodb

上一篇文章&#xff0c;我们在电脑上安装了mongodb数据库。这篇文章&#xff0c;我们在fastapi后端使用motor操作mongodb 如果你还没看过上一篇文章&#xff0c;链接在这里&#xff1a;【MongoDB】安装与使用 安装 motor motor 是一个用于操作 mongodb 数据库的 python 库&a…

C++标准库中string的底层实现方式

对于C中 std::string 的一些基本功能和用法&#xff0c;我们应该都很熟悉。但它底层到底是如何实现的呢? 其实在 std::string 的历史中&#xff0c;出现过几种不同的方式。下面我们来一一揭晓。 我们可以从一个简单的问题来探索&#xff0c;一个 std::string 对象占据的内存空…

Element-Ul快速入门

引言 Element UI是一个vue.js的桌面UI库。它提供了一套丰富、灵活和实用的UI组件&#xff0c;使开发者能以最少的时间和代码量完成复杂的界面设计。本文将会介明如何快速上手Element UI。 安装和基本使用 首先&#xff0c;你需要在你的项目中安装Element UI。如果你已经安装…

纯电动汽车硬件在环测试

纯电动汽车硬件在环测试技术研究综述 1、新能源汽车概述 随着新能源汽车“电动化、智能化、网联化、共享化”进程的不断推进&#xff0c;新能源汽车的整体性能得到显著提高&#xff0c;纯电动汽车已经逐渐走进大众视野&#xff0c;消费者对于新能源汽车的认可度和购买欲望也稳…

【学习笔记】Windows GDI绘图(五)图形路径GraphicsPath详解(上)

文章目录 图形路径GraphicsPath填充模式FillMode构造函数GraphicsPath()GraphicsPath(FillMode)GraphicsPath(Point[],Byte[])和GraphicsPath(PointF[], Byte[])GraphicsPath(Point[], Byte[], FillMode)和GraphicsPath(PointF[], Byte[], FillMode)PathPointType 属性FillMode…

TODOLIST

TODOLIST 效果如图 要求&#xff1a; 当输入 todo 项时&#xff0c;按回车键&#xff0c;todo list 增加一项未完成的 todo 记录。当点击最顶部 input 旁边的 checkbox 开关&#xff0c;如果是选中状态&#xff0c;所有的 todo 项都需选中&#xff0c;反之亦然。当点击某一项…

如何保护主机的安全

因为主机的安全涉及到保护主机的数据存储和处理的保密性、完整性和可用性。但是当主机一旦被攻击者入侵&#xff0c;那么企业将会面临多种安全风险&#xff0c;比如业务被中断、服务器不稳定和数据被窃取等风险&#xff0c;那么我们该怎样保护主机的安全呢? 对于提高主机的安全…

表达式求值 ,逆波兰

目录 表达式求值 1、中缀表达式转后缀表达式 原因 逻辑&#xff1a; 中缀转后缀的动态展示&#xff1a;大家直接看视频&#xff1a; 注意事项&#xff1a; &#xff08;1&#xff09;最后要对存储运算符的栈进行判空&#xff0c;如果不空&#xff0c;则弹出栈顶元素一直到…