bzoj 4244: 邮戳拉力赛 动态规划
感觉自己dp这方面还需要加强啊。
显然一个合法的方案已定包含一条0-N+1的上行链(可以拼接得到),剩下的是一些环。
令dp[i][j]表示盖了前i个邮戳,并且从下行站走到上行站的次数-从上行站走到下行站的次数=j时,不计0-i的上行链的时间时的最小耗费。
j可能比较费解。形象一点,由于剩下的是一些环,那么环一定是i的上行站->i的下行站->j的下行站->i的下行站->i的上行站。环一定是有些整体在i的前面,或者整体在i的后面,或者跨过i,j就是跨过i的环的数量。
然后枚举第i个站点的走法:(上行站或下行站)->邮戳台->(下行站或下行站)共四种;再加上直接从上行站->下行站(包括反向)的转移。因此一共是六种。
AC代码如下:
#include<iostream>
#include<cstdio>
#include<cstring>
#define N 3005
using namespace std;int n,m; long long f[N][N];
void dn(int &x,int y){ if (y<x) x=y; }
int main(){scanf("%d%d",&n,&m); int i,j,x,y,u,v;memset(f,0x3f,sizeof(f));f[0][0]=0;for (i=1; i<=n; i++){scanf("%d%d%d%d",&x,&y,&u,&v);for (j=0; j<=n; j++) f[i-1][j]+=j*m<<1;for (j=0; j<=n; j++){if (j) f[i][j]=min(min(f[i-1][j-1],f[i][j-1])+y+u,f[i-1][j]+u+v);if (j<n) f[i][j]=min(f[i][j],f[i-1][j+1]+x+v);f[i][j]=min(f[i][j],f[i-1][j]+x+y);}for (j=n-1; j>=0; j--) f[i][j]=min(f[i][j],f[i][j+1]+x+v);}printf("%lld\n",f[n][0]+(n+1)*m);return 0;
}
by lych
2016.3.26
bzoj 4244: 邮戳拉力赛 动态规划相关推荐
- [BZOJ 4244] 邮戳拉力赛
BZOJ传送门 Description IOI铁路是由N+2N+2N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+10...N+10...N+1. 这条路线上行驶的电 ...
- BZOJ 4244 邮戳拉力赛 (DP)
手动博客搬家: 本文发表于20181211 18:01:21, 原地址https://blog.csdn.net/suncongbo/article/details/84957907 为了防止我的博客 ...
- [DP] BZOJ 4244 邮戳拉力赛
DP方程有点难懂 晕 #include<cstdio> #include<cstdlib> #include<cstring> #include<algori ...
- BZOJ 4244 邮戳拉力赛
题意: 思路: 参考博客 https://blog.csdn.net/forever_shi/article/details/84931438 /*************************** ...
- LOJ #2878. 「JOISC 2014 Day2」邮戳拉力赛 动态规划+括号序列
神题呀,我们观察到行走的方式一定是一条链+若干条环. 然后环可以看成是一对括号,所以来一个基于括号序的 DP. code: #include <bits/stdc++.h> #define ...
- java越野拉力赛_BZOJ 4244 邮戳拉力赛 (DP)
为了防止我的博客被数学占领(一半以上的博文和数学相关),我决定添加几道非数学题的题解. 目前数学题比例: \(\frac{15}{32}=0.46875\) 扯淡结束 题意: 太长了自己看. 题解: ...
- bzoj4244: 邮戳拉力赛 dp
Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车两种,上行电车沿编号增大方向行驶 ...
- [BZOJ4244]邮戳拉力赛
Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车两种,上行电车沿编号增大方向行驶 ...
- 【BZOJ4244】邮戳拉力赛 DP
[BZOJ4244]邮戳拉力赛 Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车 ...
最新文章
- 面试官问: 如何保证 MQ消息是有序的?
- cisco+路由器+固定外网IP与NAT+设置
- [汇编语言学习笔记][第二章寄存器]
- 谷歌警告:安卓再现高危漏洞 华为小米等可能被黑客完全控制
- 机器学习知识点(九)BP神经网络Java实现
- Android基于Docker容器的双系统多开实现和自动化部署
- [转]js 取得 Unix时间戳(Unix timestamp)
- 响应式web(一):什么是响应式web,异步调用,callback的本质,servlet3的异步
- printf格式化输出类型
- python获取表单数据的代码_使用flask和python从html表单获取表单数据
- webpack之基础篇(四):webpack-dev-server介绍
- 爬取https://sc.chinaz.com/tupian/的图片
- es - elasticsearch - search - DSL - specialized - pinned
- MySQL 为日期增加一个时间间隔
- 汉字转拼音(完全模式)
- URL传参多了%7Bfid%7D字符,在我使用{id}传参时拼接了多余字符串
- 群签名和环签名的区别_环签名,聚合签名
- Linux九阴真经之无影剑残卷2(磁盘存储和文件系统)
- 【Python】实现键盘鼠标动作录制和执行的小工具
- 为什么做微信视频直播?
热门文章
- 学习书法与国画的同学作品欣赏
- Nodejs学习沉淀(二)——核心功能模块理解
- 【SSL证书】【知识体系】【WebSocket】【Spring Boot 2.x】【DevOps 转型】| Chat · 预告
- keras.layers.Input()输入层解析
- html插入两张并排图片,如何在Word里面插两张并排的图?
- 国内科技公司不爱收购爱挖人?探索中外“贫富差距”背后的原因
- 计算机键盘上顿号在哪,电脑键盘上的顿号在哪个位置,最简单实用的电脑知识...
- 张顺就船内搜出前日 水浒传
- 数据包络分析--二阶段网络(考虑各阶段的公平性)
- client-go开发示例