jzoj 5770 可爱精灵宝贝

2024-03-21 15:50
文章标签 jzoj 宝贝 可爱 精灵 5770

本文主要是介绍jzoj 5770 可爱精灵宝贝,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目

这里写图片描述这里写图片描述


题解

–是区间dp(好像dfs加神秘玄学剪枝也能过?)
首先,我们可以发现这个人走过的位置是一个区域,而且区域内部的精灵要么被抓,要么消失了(总之就是与以后的转移没有关系)
所以,状态定义:
f[l][r][t] :当这个人走过区间[l,r],且目前在l处,时间为t时的最大分值
注意,l,r的左右位置要根据大小自己判断

然后我们又发现,现在这个人只有两种方法:左走或右走
他肯定是走到他没有走过的第一个有精灵的房子前,因为他不可能无视他(不符合贪心原则)
所以,转移方程:
看代码,有点长(因为还要判断这个精灵能否抓到)

最后,边界就是 :
f[起始房子][起始房子][1]=0

还有可以离散化一下,因为有很多房子前没有精灵,其实是没用的
排一下序,编号放进一个数组就行,k也要放(看成是没有价值,时间为1的精灵)


代码

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<vector>
using namespace std;
const int MAXN=105;int n,k,m;
int a[MAXN],b[MAXN],t[MAXN];
int w[MAXN];
int maxt;
int f[MAXN][MAXN][2005];
int ans;bool comp(const int &x,const int &y){return a[x]<a[y];
}int main(){freopen("go.in","r",stdin);freopen("go.out","w",stdout);cin>>n>>k>>m;w[0]=0;a[0]=k;b[0]=0;t[0]=1;for(int i=1;i<=m;i++){scanf("%d%d%d",&a[i],&b[i],&t[i]);maxt=max(maxt,t[i]);w[i]=i;}sort(w,w+1+m,comp);memset(f,-1,sizeof(f));for(int i=0;i<=m;i++)if(a[w[i]]==k)f[i][i][1]=0;for(int time=1;time<=maxt;time++){for(int l=0;l<=m;l++){for(int r=0;r<=m;r++){if(f[l][r][time]!=-1){if(l<=r){int T=time+a[w[l]]-a[w[l-1]];if(l>0){if(T<=t[w[l-1]])f[l-1][r][T]=max(f[l-1][r][T],f[l][r][time]+b[w[l-1]]);else f[l-1][r][T]=max(f[l-1][r][T],f[l][r][time]);}T=time+a[w[r+1]]-a[w[l]];if(r<m){if(T<=t[w[r+1]])f[r+1][l][T]=max(f[r+1][l][T],f[l][r][time]+b[w[r+1]]);else f[r+1][l][T]=max(f[r+1][l][T],f[l][r][time]);}}else{int T=time+a[w[l]]-a[w[r-1]];if(r>0){if(T<=t[w[r-1]])f[r-1][l][T]=max(f[r-1][l][T],f[l][r][time]+b[w[r-1]]);elsef[r-1][l][T]=max(f[r-1][l][T],f[l][r][time]);}T=time+a[w[l+1]]-a[w[l]];if(l<m){if(T<=t[w[l+1]])f[l+1][r][T]=max(f[l+1][r][T],f[l][r][time]+b[w[l+1]]);elsef[l+1][r][T]=max(f[l+1][r][T],f[l][r][time]);}}}ans=max(ans,f[l][r][time]);}}}cout<<ans;return 0;
}

这篇关于jzoj 5770 可爱精灵宝贝的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/833097

相关文章

Linux 下的Vim命令宝贝

vim 命令详解(转自:https://www.cnblogs.com/usergaojie/p/4583796.html) vi: Visual Interface 可视化接口 vim: VI iMproved VI增强版 全屏编辑器,模式化编辑器 vim模式: 编辑模式(命令模式)输入模式末行模式 模式转换: 编辑-->输入: i: 在当前光标所在字符的前面,转为输入模式

HTML(21)——CSS精灵

CSS精灵,也叫CSS Sprites,是一种网页图片应用处理方式。把网页中一些背景图片整合到一张图片的文件中,再background-position精确定位出背景图片的位置。 优点:减少服务器被请求的次数,减轻服务器的压力,提高页面加载速度。 实现步骤: 创建盒子,盒子尺寸与小图尺寸相同设置盒子背景图为精灵图添加background-position属性,改变背景图位置

分享:一个可爱的运行猫动画在你的窗口任务栏上

RunCat_for_windows:在 Windows 任务栏飞奔的“小猫”。这是一个用 C# 写的小工具,它会在 Windows 任务栏显示一只奔跑的小猫动画,CPU 使用率越高它跑得越快。 安装很简单 访问“发布”页面并下载 RunCat.exe。 或通过 Scoop(x64 版本)安装:scoop bucket add extras、scoop install runcat

世界末日,写给我和我的宝贝

2012年12月21日15点14分35秒,静待、、、、、、 ◇.﹎.世界末日的一天来临了,没想到,竟然是和他一起过的,天 好亮,我 心里很难受...... ◇.﹎.我们一人绷着一台电脑,敲着不同的字母 ◇.﹎.突然有点语无伦次了 ◇.﹎.来兄弟连好久叻、  一直都碌碌无为、虽然在别人眼里、俄还是一个傻瓜、 ◇.﹎.说过让你带我走,去同一个地方,是因为那里的人, 而不是那里的风景,

硕思闪客精灵 官方专业版下载-硕思闪客精灵软件安装包下载附加详细安装步骤

​​硕思闪客精灵​​专业版是一款应用于浏览和解析Flash动画工具,通过对flash影片动作Action进行解析,功能非常强大,便捷实用。硕思闪客精灵专业版能将flash动画中的图片、矢量图、字体、文字、按钮、影片片段、帧等基本元素完全分解。可以的显示其动作的代码,让您可以将分解出来的图片、矢量图、声音灵活应用于SothinkGlanda中,做出大师级的作品。 安 装 包 获 取 地

硕思闪客精灵软件最新版下载及详细安装教程

闪客精灵(Sothink SWF Decompiler)是一款先进的SWF反编译软件,它不但能捕捉、反编译、查看和提取Shock Wave Flash影片(.swf和.exe格式文件),而且可以将SWF格式文件转化为FLA格式文件。 安 装 包 获 取 地 址: 硕思闪客精灵专业版:​​https://souurl.cn/QvdbT2​​ 闪客精灵专业版主要特性: 1.支持预览和播

HP惠普暗影精灵10 OMEN Gaming Laptop 16-wf1xxx原厂Win11系统镜像下载

惠普hp暗影精灵10笔记本电脑16-wf1000TX原装出厂Windows11,恢复开箱状态oem预装系统安装包,带恢复重置还原 适用型号:16-wf1xxx 16-wf1000TX,16-wf1023TX,16-wf1024TX,16-wf1025TX, 16-wf1026TX,16-wf1027TX,16-wf1028TX,16-wf1029TX, 16-wf1030TX,16-wf103

WIFI共享精灵 2013 电脑共享wifi

WIFI共享精灵是基于WIFI虚拟驱动技术的一个免费软件。是一款完美解决设置笔记本无线热点,实现笔记本共享上网,能一键设置,将笔记本变成无线路由器,让WIFI手机及PAD实现共享上网的网络应用型软件。 下载地址:http://www.pipipan.com/file/26869183

CSS中背景断裂和精灵图的关系,以及4种解决方式

背景断裂是指在使用背景图片时,由于背景图片的尺寸不足以覆盖整个元素区域,导致背景在某个方向上出现中断、不连续的现象。这种情况通常在自适应布局或宽屏、高分辨率设备上更容易出现,因为元素的尺寸可能会随着视口大小变化而变化。 当使用精灵图作为背景时,背景断裂问题可能会更加明显。因为精灵图将多个背景图片合并成一张图片,我们需要通过 background-position 属性来定位每个元素的背景。如果精

Characters 2 01(卡通可爱人物动画模型)

● 包裹● - 26名男子; - 29个女孩。 ● 使用地点 ● - 游戏。针对游戏引擎优化的模型; -乘法; 广告和营销; - 虚拟现实/增强现实。 ● 特点 ● - 你可以很容易地改变物体的颜色 - 使用UV贴图; - 对象逻辑位置的枢轴; - 模型具有逻辑名称。 ● 几何学● 62个独特的资产(预制件); - 231k三角形全部打包; ● 人物 ● 常规(x18) Classy(x9) 运