[题解]SP703 SERVICE - Mobile Service_Done
设计状态F[i][j][k]代表完成任务i后,有一个员工在地点P[i],其他两人分别在j和k两地。所需要的最小代价。
转移的方式:
分别考虑派遣i,j,k三人前往下一个需求地点,并更新状态。
#include <iostream>
#include <stdio.h>
#include <string.h>
#define re register
#define GC getchar()
#define Clean(X,K) memset(X,K,sizeof(X))
#include <iostream>
#define Max(A,B) ((A)>(B)?(A):(B))
#define Min(A,B) ((A)<(B)?(A):(B))
using namespace std ;
int Qread () {
int X = ;
char C = GC ;
while (C > '' || C < '') C = GC ;
while (C >='' && C <='') {
X = X * + C - '' ;
C = GC ;
}
return X ;
}
const int Maxl = , Maxn = ,INF = << ;
int C[Maxl][Maxn] , N , L , Times , Q[Maxn] = {}, F[Maxn][Maxl][Maxl];
int main () {
// freopen ("SP703.in" , "r" , stdin) ;
Times = Qread () ;
while (Times -- ) {
Clean (F , ) ;
L = Qread () , N = Qread () ;
for (re int i = ; i <= L; ++ i) for (re int j = ; j <= L; ++ j) C[i][j] = Qread () ;
for (re int i = ; i <= N; ++ i) Q[i] = Qread () ;
Clean (F , 0x3f) ;
F[][][] = ;
for (re int i = ; i < N; ++ i) {
for (re int j = ; j <= L ; ++ j) {
for (re int k = ; k <= L; ++ k) {
if (Q[i] == j || Q[i] == k || j == k) continue ;
F[i + ][j][k] = Min (F[i + ][j][k] ,F[i][j][k] + C[Q[i]][Q[i + ]]) ;
F[i + ][Q[i]][k] = Min (F[i + ][Q[i]][k] , F[i][j][k] + C[j][Q[i + ]]) ;
F[i + ][j][Q[i]] = Min (F[i + ][j][Q[i]] , F[i][j][k] + C[k][Q[i + ]]) ;
}
}
}
int Ans = INF ;
for (re int i = ; i <= L ; ++ i) {
for (re int j = ; j <= L; ++ j) {
Ans = Min (Ans , F[N][i][j]) ;
}
}
printf ("%d\n" , Ans) ;
}
fclose (stdin) , fclose (stdout) ;
return ;
}
[题解]SP703 SERVICE - Mobile Service_Done的更多相关文章
- SP703 SERVICE - Mobile Service
思路:DP 提交:1次 题解: 我们把处理到的要求作为阶段. \(f[i][x][y][z]\)表示第 \(i\) 个要求,三个人分别的位置. 发现这样有很多无用状态,因为显然在第 \(i\) 个要求 ...
- SP703 SERVICE - Mobile Service[DP]
题意翻译 Description 一个公司有三个移动服务员.如果某个地方有一个请求,某个员工必须赶到那个地方去(那个地方没有其他员工),某一时刻只有一个员工能移动.只有被请求后,他才能移动,不允许在同 ...
- Dynamics 365 CRM 配置field service mobile
配置field service mobile其实微软是有官方文档的, 但是没有坑的微软产品不是好产品. 一些细节设置文中还是没有考虑到的. 所以这里带大家配置一下field service mobil ...
- SPOJ 703 SERVICE - Mobile Service 题解
题面 好题啊!~ 设f[i][j][k][l]表示已经处理完前i个请求后,a在j,b在k,c在l的最小值是多少: 那么f[i][p[i]][k][l]=min(f[i][p[i]][k][l],f[i ...
- Web service standards: SOAP, REST, OData, and more
Web service standards: SOAP, REST, OData, and more So far, we've covered the components of a web ser ...
- MB2-718 Certification: (Microsoft Dynamics 365 Customer Service) – Field Service, Customer Assets
Come from : https://neilparkhurst.com/2018/02/25/mb2-718-certification-microsoft-dynamics-365-custom ...
- Dynamics365 Field Service Work Order Theory
Come from :https://neilparkhurst.com/2016/08/20/field-service-work-order-theory/ In this post I aim ...
- iOS中支付宝集成
iOS中支付宝集成 如今各种的App中都使用了三方支付的功能,现在将我在使用支付宝支付集成过程的心得分享一下,希望对大家都能有所帮助 要集成一个支付宝支付过程的环境,大致需要: 1>公司:先与支 ...
- iOS-集成支付宝支付、微信支付简单总结
支付宝快捷支付: 官方文档中,支付宝说建议我们使用支付时要讲签名过程放在服务器端,这样安全.同时给的demo中签名是在本地移动端做的...不过支付宝的集成还是较简单的. 为了安全签名当然放后台做了.我 ...
随机推荐
- Linux命令及架构部署大全
1.Linux系统基础知识 Linux 基础优化配置 Linux系统根目录结构介绍 linux系统重要子目录介绍 Linux基础命令(之一)详解 Linux基础命令(之二)详解 Linux文件系统 L ...
- 【Python实践-2】求一个或多个数的乘积
# -*- coding: utf-8 -*- #定义一个函数,可接收一个或多个数并计算乘积 def product(*numbers): s=1 for n in numbers: s=s*n re ...
- PHP全栈学习笔记14
一.搭建PHP开发环境 Apahce服务器 Dreamwear创建站点 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitiona ...
- Android开发:Eclipse+OpenCV环境搭建
一.OpenCV预备: OpenCV是一个跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它由一系列 C 函数和少量 C++ 类构成,同时提供了Pyt ...
- AI - TensorFlow - 张量(Tensor)
张量(Tensor) 在Tensorflow中,变量统一称作张量(Tensor). 张量(Tensor)是任意维度的数组. 0阶张量:纯量或标量 (scalar), 也就是一个数值,例如,\'Howd ...
- Java基础--JDK的安装和配置
一.Java平台简述 1.1 Java语言简介 Java是一门面向对象的编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承.指针等概念,因此Java语言具有功能强大和简单易用两 ...
- JAVA 中的接口(interface)
我们一般将一个抽象类中所有方法都是抽象方法的抽线类定义为接口,接口时由常量和抽象方法组成的特殊类,即接口里面连构造方法也没有.接口通常用“interface”关键字来声明,一个类通过继承接口的方式,从 ...
- DotNetCore跨平台~EFCore废弃了TransactionScope取而代之的Context.Database.BeginTransaction
回到目录 TransactionScope是.net平台基于的分布式事务组件,它默认为本地事务,同时当系统有需要时可以自动提升为分布式事务,而对系统的前提是要开启MSDTC服务,必要时需要在数据库服务 ...
- vue工程利用pubsub-js实现兄弟组件之间的通信
前言 项目是基于vue-cli创建的,不会搭建vue开发环境的同学可以百度,这里不再赘述. 步骤流程 vue项目搭建完成之后的文件图如下: 我的上一篇博客已经详细叙述vue工程中各个文件的作用,不清楚 ...
- 103 - kube-scheduler源码分析 - 调度算法-寻找predicates和priorities
scheduler的主要逻辑是predicate和priority,前者回答哪些节点可以运行pod的问题,后者回答哪个节点更合适运行pod的问题.今天我们的任务是:从主函数出发,寻找predicate ...