首页 > 其他分享 >SP703 SERVICE - Mobile Service 题目分析

SP703 SERVICE - Mobile Service 题目分析

时间:2024-11-14 18:56:49浏览次数:1  
标签:题目 SERVICE Service Mobile SP703 转移

SP703 SERVICE - Mobile Service 题目分析

题目链接

前言

四倍经验

目前这道题是最基础的,四倍经验里面的 \(T_2\) 与此一样,\(T_3\) 有点卡空间,但是还好,方案用 short 或者 char 即可优化,\(T_4\) 一样,有些卡常,问题不大。

分析题目性质

没有什么十分有用的性质。

思路

注意到:分配干活的只有 \(3\) 个人。

看到这么小的数很容易想到三维或者四维 \(dp\) 或者是 状态压缩 \(dp\),很显然是前者。

设 \(f_{i,a_1,a_2,a_3}\) 表示第 \(i\) 个请求后,三个人的位置分别为 \(a_1,a_2,a_3\) 的最小成本。

转移是简单的,不过多赘述。

时间复杂度 \(\mathcal{O}(nL^3).\)

考虑优化状态。

首先 \(i\) 只是跟上一维有关,所以直接把它删掉。

即 \(f_{a_1,a_2,a_3}\) 表示当前三个人的位置分别为 \(a_1,a_2,a_3\) 的最小成本。

我们发现当前的转移必定会有一个人到达 \(p_i\),也就是说,我们只需要保留另外两个人的状态(不能等于 \(p_{i-1}\))即可,而第三个人表示的就是上一次做任务的人(即现在在 \(p_{i-1}\) 的人)。

综上,我们可以设 \(f_{a_1,a_2}\) 表示上一次没有做任务经过这次任务之后的两个人的位置在 \(a_1,a_2\) 的最小成本。

不难的转移:

\[f_{a_1,a_2}=\min\{f_{a_1,a_2}+C_{p_{i-1},p_i},f_{a_1,p_{i-1}}+C_{a_2,p_i},f_{p_{i-1},a_2}+C_{a_1,p_i}\} \]

时间复杂度 \(\mathcal{O}(nL^2).\)

初始化:显然地 \(f_{1,2}=f_{1,3}=f_{2,1}=\dots=f_{3,1}=f_{3,2}=0\),其余的为极大值,\(i=1\) 时需要特殊处理。

除此之外,也可以设 \(f_{a_1,a_2}\) 表示当前其中一个人位于 \(p_{i-1}\),另外两个人位于 \(a_1,a_2\) 时的最小成本,转移是类似的。

给出两份代码,一个是不带方案的,一个是带的。


总结:如果状态变少了,转移也得跟着变少,才能达到优化的效果。

标签:题目,SERVICE,Service,Mobile,SP703,转移
From: https://www.cnblogs.com/high-sky/p/18546588

相关文章

  • 深入理解 Kubernetes 中的 Service、Ingress 和 NginxIngress:如何配置多个域名访问 Ja
    个人名片......
  • 当webservice接口调用遇到跳板机地址转发时的问题
    问题描述:    A服务器有一个webservice服务端接口,B服务器需要访问A服务器时需要中间C堡垒机通过nginx转发一下,这是访问时就会出现一个问题,B访问的时候是要访问A的地址还是C的地址?解决办法1:    需要在跳板机上的nginx上需要修改一下配置即可,详细代码配置如下:解决办法2......
  • 【Azure App Service】在App Service for Windows上验证能占用的内存最大值Y5
    问题描述在创建AppService服务的时候,根据定价层不同,内存使用的最大值也有不同。但在实际测试中,发现内存最大只能占用2GB左右,而定价层中内存分配明明是大于2GB(比如B3定价层的内存为7GB),这是一种什么情况呢?在AppService中Kudu工具上,查看进程分配的内存大小:问题解答使用......
  • .NET 8 强大功能 IHostedService 与 BackgroundService 实战
    前言在.NET8中,IHostedService和BackgroundService两个核心接口的引入,增强了项目开发中处理定时任务的能力。这两个接口不仅简化了定时任务、后台处理作业以及定期维护任务的实现过程,还提升了在ASP.NETCore或任何基于.NET的宿主应用程序中的集成与管理效率。IHostedService......
  • 【Azure App Service】在App Service for Windows上验证能占用的内存最大值
    问题描述在创建AppService服务的时候,根据定价层不同,内存使用的最大值也有不同。但在实际测试中,发现内存最大只能占用2GB左右,而定价层中内存分配明明是大于2GB(比如B3定价层的内存为7GB),这是一种什么情况呢?在AppService中Kudu工具上,查看进程分配的内存大小: 问题解答使......
  • ServiceMesh 4:实现流量染色和分级发布
    1什么是流量染色在复杂的生产场景中,经常会有同一个服务中,存在多个版本长期共存的需求。为了让不同的用户在不一样的版本中使用,就需要对用户的请求进行采样和染色,打上不同的标识。这样的目的有几个:支撑分级发布,避免全量发布时可能遇到的大规模风险,如系统崩溃、用户流失。支持......
  • 【Axure】Arco Design Mobile组件库 - AxureMost
    【Axure】ArcoDesignMobile组件库-AxureMostAxureMost官网【Axure】ArcoDesignMobile组件库-AxureMost【Axure】ArcoDesignMobile组件库/元件库ArcoDesignMobile组件库提供了丰富的基础组件,这些组件设计时考虑了移动设备的特性和用户交互习惯,确保了界面的一......
  • 【轻量化】YOLOv8 更换骨干网络之 MobileNetv4 | 模块化加法!非 timm 包!
    之前咱们在这个文章中讲了timm包的加法,不少同学反馈要模块化的加法,那么这篇就讲解下模块化的加法,值得注意的是,这样改加载不了mobilebnetv4官方开源的权重了~论文地址:https://arxiv.org/pdf/2404.10518代码地址:https://github.com/tensorflow/models/blob/master/offic......
  • 【Azure Developer】在使用Azure Bot Service JavaScript的实例代码遇见Cannot find m
    问题描述从Github中下载了JavaScript的BotServiceEchoBot实例代码,本地执行,总是报错Cannotfindmodule'node:crypto' 错误信息Error:Cannotfindmodule'node:crypto'Requirestack:atFunction.Module._resolveFilename(internal/modules/cjs/loader.js:902:15)......
  • Idea调用WebService
    Idea调用WebService​WebService是一种基于网络的技术,它允许不同的应用程序在互联网上相互通信。要进行WebService对接,以下是一些关键步骤和注意事项:一、理解WebService的基本概念定义:WebService是一种基于标准化协议和格式的应用程序接口(API),它使用XML和HTTP来进行通信......