BZOJ1075 : [SCOI2007]最优驾车drive
设$f[i][j][k]$为到达$(i,j)$,用时为$\frac{k}{5lcm}$小时的最低耗油量,然后DP即可。
#include<cstdio>
const int N=12,M=210005;
const double inf=1e15;
int n,L,lcm,lim,i,j,k,p,x,y,a[N],b[N],xs,ys,xt,yt,t1,t2,ans1=-1,ans2;
double f[2][N][M],w[N];
int gcd(int a,int b){return b?gcd(b,a%b):a;}
void swap(int&a,int&b){int c=a;a=b;b=c;}
inline void up(double&a,double b){if(a>b)a=b;}
int cal(int x){
x*=12;
return x/lcm+(x%lcm>0);
}
int main(){
scanf("%d%d",&n,&L);
for(i=1;i<=10;i++)w[i]=1.0*L/(80.0-0.75*i*i);
for(i=1;i<=n;i++)scanf("%d",&a[i]),a[i]/=5;
for(i=1;i<=n;i++)scanf("%d",&b[i]),b[i]/=5;
for(i=1;i<=n;i++){
if(x<a[i])x=a[i];
if(x<b[i])x=b[i];
}
for(i=lcm=1;i<=x;i++)lcm=lcm*i/gcd(lcm,i);
scanf("%d%d%d%d%d%d",&xs,&ys,&xt,&yt,&t1,&t2);
lim=t2*lcm/12;
if(xs>xt)swap(xs,xt),swap(ys,yt);
if(ys>yt){
for(i=1,j=n;i<j;i++,j--)swap(a[i],a[j]);
ys=n-ys+1,yt=n-yt+1;
}
for(j=ys;j<=yt;j++)for(k=0;k<=lim;k++)f[0][j][k]=inf;
f[0][ys][0]=0;
for(i=xs;i<=xt;i++,p^=1){
for(j=ys;j<=yt;j++)for(k=0;k<=lim;k++)f[p^1][j][k]=inf;
for(j=ys;j<=yt;j++)for(k=0;k<=lim;k++)if(f[p][j][k]<inf){
if(j<yt)for(x=b[i];x;x--){
y=k+lcm/x*L;
if(y<=lim)up(f[p][j+1][y],f[p][j][k]+w[x]);
}
if(i<xt)for(x=a[j];x;x--){
y=k+lcm/x*L;
if(y<=lim)up(f[p^1][j][y],f[p][j][k]+w[x]);
}
}
}
for(k=0;k<=lim;k++)if(k*12>=t1*lcm&&f[p^1][yt][k]<inf){
if(ans1<0)ans1=k;
if(!ans2||f[p^1][yt][k]+1e-9<f[p^1][yt][ans2])ans2=k;
}
if(ans1<0)return puts("No"),0;
printf("%d %.2f\n%d %.2f",cal(ans1),f[p^1][yt][ans1],cal(ans2),f[p^1][yt][ans2]);
return 0;
}
BZOJ1075 : [SCOI2007]最优驾车drive的更多相关文章
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL
周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...
- 【BZOJ】【1070】【SCOI2007】修车
网络流/费用流 好神奇的建模= = 关键就是把每个技术员拆成n个点,表示这个技术员倒数第几个修的车子.. 考虑第i个工人,他修第j辆车只对后面要修的车有影响,而前面修过的车已经对当前没有影响了.而这个 ...
- 恒天云技术分享系列3 – KVM性能调优
恒天云技术分享:http://www.hengtianyun.com/download-show-id-11.html KVM是什么 KVM 是 kernel-based Virtual Machin ...
- Sightseeing Cows(最优比率环)
Sightseeing Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 8915 Accepted: 3000 ...
- 性能优化之MySQL调优篇
MySQL对于很多Linux从业者而言,是一个非常棘手的问题,多数情况都是因为对数据库出现问题的情况和处理思路不清晰.在进行MySQL的优化之前必须要了解的就是MySQL的查询过程,很多的查询优化工作 ...
- 最优比例生成环(dfs判正环或spfa判负环)
http://poj.org/problem?id=3621 Sightseeing Cows Time Limit: 1000MS Memory Limit: 65536K Total Subm ...
- POJ 3621 Sightseeing Cows(最优比例环+SPFA检测)
Sightseeing Cows Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 10306 Accepted: 3519 ...
- poj 3621(最优比率环)
Sightseeing Cows Farmer John has decided to reward his cows for their hard work by taking them on a ...
随机推荐
- ruby代码重构第二课
(文章都是从我的个人主页上粘贴过来的, 大家也可以访问我的主页 www.iwangzheng.com) 在第一课里提取出了相通的代码,第二课里就把常量提取出来吧 一般把常量的定义写的对应的app/mo ...
- VS(VisualStudio)中折叠代码、打开代码的快捷键
CTRL + M, CTRL + O折叠代码定义 CTRL + M, CTRL + L展开代码定义
- WPF 路由事件总结
1.什么是路由事件 已下为MSDN中的定义 功能定义:路由事件是一种可以针对元素树中的多个侦听器(而不是仅针对引发该事件的对象)调用处理程序的事件. 实现定义:路由事件是一个 CLR 事件,可以由 R ...
- Opencv Cookbook阅读笔记(四):用直方图统计像素
灰度直方图的定义 灰度直方图是灰度级的函数,描述图像中该灰度级的像素个数(或该灰度级像素出现的频率):其横坐标是灰度级,纵坐标表示图像中该灰度级出现的个数(频率). #include <open ...
- 【数据库】如家汉庭酒店2000万开房数据1.71G/BAK,792M/CSV
多家连锁酒店使用了某网络有限公司,开发的酒店WiFi管理.认证管理系统.用户在酒店连接开放的WiFi,上网时会被要求通过网页认证,填写相关信息.这个认证不是在酒店服务器完成的,而是在 某公司 的认证服 ...
- 对比WDCP面板与AMH面板的区别与选择
转载: http://www.laozuo.org/2760.html | 老左博客 随着VPS主机的性价比提高(其实就是降价)我们很多站长会越来越多的选择使用VPS搭建网站或者运营一些项目,相比较而 ...
- hping3命令
hping3命令 网络测试 hping是用于生成和解析TCPIP协议数据包的开源工具.创作者是Salvatore Sanfilippo.目前最新版是hping3,支持使用tcl脚本自动化地调用其API ...
- php如何将数组保存为文件的方法? 三个方法让你快速把数组保存成为文件存储
php 缓存数组形式的变量,实际上就是将 php 将数组写入到一个文本文件或者后缀名为 .php 存储起来,使用的时候直接调用这个文件.那么如何使用 php 将数组保存为文本格式的文件呢?下面分享三种 ...
- 【转】maven导出项目依赖的jar包
本文转自:http://my.oschina.net/cloudcoder/blog/212648 一.导出到默认目录 targed/dependency 从Maven项目中导出项目依赖的jar包:进 ...
- VS添加lib库
#pragma comment(lib,"opengl32.lib")