http://contest-hunter.org:83/contest/0x50%E3%80%8C%E5%8A%A8%E6%80%81%E8%A7%84%E5%88%92%E3%80%8D%E4%BE%8B%E9%A2%98/5102%20Mobile%20Service 终于会做一道了.. $f[i][j][k]$表示第$i$个命令后一个人在$j$,另一个在$k$,还有一个在哪你懂得.(其实这里是一个状态精简,第三个人的状态没必要留,因为可以知道) 于是每个操作枚举上一次两个人分布位置,排除…
传送门 很容易想出\(O(n^3m)\)的方程,三维分别表示某个快递员现在在哪里,然后直接递推即可 然而这样会T,考虑怎么优化.我们发现每一天的时候都有一个快递员的位置是确定的,即在前一天要到的位置.那么我们只要枚举剩下的两个人分别在哪里就行了,复杂度变为\(O(n^2m)\) //minamoto #include<bits/stdc++.h> #define fp(i,a,b) for(register int i=a,I=b+1;i<I;++i) #define fd(i,a,b)…
[BZOJ1820][JSOI2010]快递服务(动态规划) 题面 BZOJ 洛谷 题解 考虑无脑四维\(dp\).\(f[i][a][b][c]\),表示当前处理到第\(i\)个任务,三辆车的位置分别在\(a,b,c\)的最小值. 发现\(a,b,c\)中一定有一个等于第\(i\)个任务的位置,显然可以再咕掉一维.这样子状态就只有三维,也就是\(O(nm^2)\),然而空间小,再滚一维就好了. 时间复杂度\(O(nm^2)\) #include<iostream> #include<c…
[BZOJ1820][JSOI2010]Express Service 快递服务 Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, m),因此「飞奔」仅先行采购了三辆货車并聘用了三名司机,每天早上分别从收件地点 「1」, 「2」 及 「3」出发.而在与客户的服务契约中有明确订约:「飞奔」必须在客户提出邮件寄送要求的隔天派人至该公司(地点)收件.…
Description Luogu4046 BZOJ1820 Solution 暴力DP很好想,\(f[i][j][k][l]\)表示处理到第\(i\)个任务,三个人在\(i,j,k\)的方案数.显然一个人应该在这个任务的地方,我们就省去那一维,注意要保证钦定办这个任务的人那一维一定被省略. Code #include <algorithm> #include <cstdio> #include <cstring> const int N = 210; const in…
dp(i,j,k)表示在处理第i个业务, 另外2个在j,k处. 第一维可以滚动... -------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<algorithm>   using namespace std;   const int maxn = 209; const int i…
1820: [JSOI2010]Express Service 快递服务 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 847  Solved: 325[Submit][Status] Description 「飞奔」快递公司成立之后,已经分别与市内许多中小企业公司签订邮件收送服务契约.由于有些公司是在同一栋大楼内,所以「飞奔」公司收件的地点(收件点)最多只有m点 (1, 2, …, m),因此「飞奔」仅先行采购了三辆货車并聘用了三名司机,每天早上…
http://www.lydsy.com/JudgeOnline/problem.php?id=1820 很容易想到dp[i][a][b][c] 到第i个收件地点,三个司机分别在a,b,c 收件地点的最少耗油量 枚举第i个收件地点有哪个司机过来转移 N*M*M*M= 8e9 TLE&&MLE 压去一维,到第i个收件地点,一定有一个司机在第i个收件地点 N*M*M=4e7  MLE 滚动数组滚掉第一维 #include<cstdio> #include<cstring>…
CH5102 Mobile Service 描述 一个公司有三个移动服务员,最初分别在位置1,2,3处.如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去.某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工.从 p 到 q 移动一个员工,需要花费 c(p,q).这个函数不一定对称,但保证 c(p,p)=0.给出N个请求,请求发生的位置分别为 p_1~p_N.公司必须按顺序依次满足所有请求,目标是最小化公司花费,请你帮忙计算这个最小花费.N≤1000,位置是…
5102 Mobile Service 0x50「动态规划」例题 描述 一个公司有三个移动服务员,最初分别在位置1,2,3处.如果某个位置(用一个整数表示)有一个请求,那么公司必须指派某名员工赶到那个地方去.某一时刻只有一个员工能移动,且不允许在同样的位置出现两个员工.从 p 到 q 移动一个员工,需要花费 c(p,q).这个函数不一定对称,但保证 c(p,p)=0.给出N个请求,请求发生的位置分别为 p_1~p_N.公司必须按顺序依次满足所有请求,目标是最小化公司花费,请你帮忙计算这个最小花费…