正题

题面链接:https://www.luogu.com.cn/problem/U142298?contestId=37766


题目大意

nnn个人有起点和终点,按顺序上车,但下车可以任意顺序,车最多同时只能载444个人。求车的最短路程。


解题思路

显然我们需要把上次上车的人,现在在车上的人下车位置,车的位置压入状态中。第二个比较麻烦,也比较大,我们可以预处理把一些没用的状态去掉,压缩一下,然后dpdpdp即可。


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define lowbit(x) (x&-x)
#define gmin(x,y) x=min(x,y)
using namespace std;
const int N=1024;
int n,k,cnt,f[2100][N][10];
int p[11][11][11][11],rfn[N][4],q[4];
int main()
{scanf("%d%d",&n,&k);for(int x1=0;x1<=k;x1++)for(int x2=x1;x2<=k;x2++)for(int x3=x2;x3<=k;x3++)for(int x4=x3;x4<=k;x4++){p[x1][x2][x3][x4]=cnt;rfn[cnt][0]=x1;rfn[cnt][1]=x2;rfn[cnt][2]=x3;rfn[cnt][3]=x4;cnt++;}for(int x1=0;x1<=k;x1++)for(int x2=0;x2<=k;x2++)for(int x3=0;x3<=k;x3++)for(int x4=0;x4<=k;x4++){q[0]=x1;q[1]=x2;q[2]=x3;q[3]=x4;sort(q,q+4);p[x1][x2][x3][x4]=p[q[0]][q[1]][q[2]][q[3]];}memset(f,0x3f,sizeof(f));f[0][p[k][k][k][k]][0]=0;int tmp=0;for(int i=1;i<=n;i++){int x,y;tmp^=1;memset(f[tmp],0x3f,sizeof(f[tmp]));scanf("%d%d",&x,&y);x--;y--;
//      x=1;y=10;for(int j=0;j<cnt;j++){if(rfn[j][3]!=k)continue;q[0]=rfn[j][0];q[1]=rfn[j][1];q[2]=rfn[j][2];q[3]=y;int z=p[q[0]][q[1]][q[2]][q[3]];for(int w=0;w<k;w++)gmin(f[tmp][z][x],f[!tmp][j][w]+abs(w-x)+1);}for(int j=0;j<cnt;j++){q[0]=rfn[j][0];q[1]=rfn[j][1];q[2]=rfn[j][2];q[3]=rfn[j][3];for(int w=0;w<k;w++){if(q[0]!=k)gmin(f[tmp][p[k][q[1]][q[2]][q[3]]][q[0]],f[tmp][j][w]+abs(w-q[0])+1);if(q[1]!=k)gmin(f[tmp][p[q[0]][k][q[2]][q[3]]][q[1]],f[tmp][j][w]+abs(w-q[1])+1);if(q[2]!=k)gmin(f[tmp][p[q[0]][q[1]][k][q[3]]][q[2]],f[tmp][j][w]+abs(w-q[2])+1);if(q[3]!=k)gmin(f[tmp][p[q[0]][q[1]][q[2]][k]][q[3]],f[tmp][j][w]+abs(w-q[3])+1);}}}int ans=2147483647;for(int i=0;i<k;i++)ans=min(ans,f[tmp][p[k][k][k][k]][i]);printf("%d",ans);return 0;
}

[2020.11.25NOIP模拟赛]出租车【dp】相关推荐

  1. [2020.11.25NOIP模拟赛]下棋【dp】

    正题 题目链接:https://www.luogu.com.cn/problem/U142297?contestId=37766 题目大意 nnn个白棋mmm个黑棋排成一排,要求没有任何一段黑白棋的个 ...

  2. [2020.11.27NOIP模拟赛]拼图王【dp】

    正题 题面链接:https://www.luogu.com.cn/problem/U142584 题目大意 nnn个010101串,按顺序分成两个序列,然后拼接成一个序列(拼接串x,yx,yx,y的话 ...

  3. [2020.11.27NOIP模拟赛]中位数之中位数【二分,树状数组】

    正题 题目链接:https://www.luogu.com.cn/problem/U142585?contestId=37855 题目大意 nnn个数,求所有区间中位数的中位数. 解题思路 二分一个答 ...

  4. [2020.11.26NOIP模拟赛]勇者的后缀【SA,RMQ,主席树,二分】

    正题 题目链接:https://www.luogu.com.cn/problem/U142356?contestId=37784 题目大意 一个字符串,询问给出(x,l,r)(x,l,r)(x,l,r ...

  5. [2020.11.26NOIP模拟赛]询问【字符串hash】

    正题 题目链接:https://www.luogu.com.cn/problem/U142342?contestId=37784 题目大意 一个字符串,定义两个字符串相似为用一些字母代替相同的字母后可 ...

  6. [2020.11.4NOIP模拟赛]简单的打击【NTT】

    正题 题目链接:https://www.luogu.com.cn/problem/U138580 题目大意 两个长度为nnn的序列,要求重排后同位置的相加后众数的个数最多. 解题思路 定义aia_ia ...

  7. [2020.11.3NOIP模拟赛]选数字【容斥】

    正题 题目链接:https://www.luogu.com.cn/problem/U138404?contestId=36493 题目大意 nnn个数字,每次询问一个区间有多少个三对数或为xxx. 解 ...

  8. [2020.10.25NOIP模拟赛]序列【Splay】

    正题 题目链接:https://www.luogu.com.cn/problem/U136336?contestId=36038 题目大意 第iii次找到第iii大的数字位置xix_ixi​并且翻转[ ...

  9. 9.11 myl模拟赛

    9.11 myl 模拟赛 100 + 100 + 0 第一题耗费了太多的时间,导致最后一题没有时间想,直接去写了暴力,而且出题人没有给暴力分.... Problem 1. superman [题目描述 ...

最新文章

  1. heritrix 3.2.0 -- 环境搭建
  2. 厉害了!这支获得国家级荣誉的智能车队
  3. ASP.NET页面生命周期与应用程序生命周期
  4. C++中初始化列表的使用
  5. log4j配置文件详解---转
  6. 微型计算机温度控制系统课程设计,微机原理及其应用 微型计算机温度控制系统设计课程设计报告.doc...
  7. 组策略管理——软件限制策略(4)
  8. 每个Java开发人员应拥有的持久断点
  9. robot:循环遍历数据库查询结果是否满足要求
  10. android开发蓝牙自动连接电脑上,Android蓝牙开发之自动连接设备
  11. C++工作笔记-3种方法对数据类型进行拆分(可用于各种协议)
  12. qt给exe文件添加图标
  13. vue如何编写组件可以通过Vue.use()使用
  14. 第七章第二节 弹力学案
  15. 【日语】英语26个字母的日语读法
  16. 各种三角函数的导数(正六边形记忆法)
  17. 短视频直播平台系统app开发搭建方案,助力企业搭建细分领域短视频app,开发多种短视频变现模式
  18. 清华大学计算机相关夏令营,清华大学计算机系举办2014年信息学夏令营
  19. 无法访问yunlong.wj0920wjx.net指向的web服务器(或虚拟主机)的目录,请检查网络设置
  20. 如何设置计划任务程序 每6小时运行一次_如何用 Python 打造一个全自动赚钱的 YouTube 视频发布系统并月入过万(被动收益)

热门文章

  1. dbeaver 数据转化 mapping_Python机器学习实例:数据竞赛-足球运动员身价估计
  2. python姓名输出语句_Python最基本的输入输出详解
  3. 小学学校计算机教室使用计划,小学电脑室工作计划
  4. jenkins换服务器找不到包,服务器重启后Jenkins项目部分丢失问题解决方法
  5. leetcode746. 使用最小花费爬楼梯
  6. leetcode637. 二叉树的层平均值(层序遍历04)
  7. [Spring5]IOC容器_Bean管理注解方式_注入属性@Autowired_@Qualified_@Resource_@Value
  8. 蓝桥杯2017初赛-油漆面积-枚举
  9. 网络原理题+复习资料
  10. 唯品会php接口,唯品会链接生成联盟链接 - 唯品会API免费API接口-唯品会API开放API接口-云商数据(www.ecapi.cn)...