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 ...
随机推荐
- [Effective JavaScript 笔记]第56条:避免不必要的状态
API有时被归为两类:有状态的和无状态的.无状态的API提供的函数或方法的行为只取决于输入,而与程序的状态改变无关.字符串的方法是无状态的.字符串的内容不能被修改,方法只取决于字符串的内容及传递给方法 ...
- Linux 4.6分支已到生命尽头 请尽快升级至Linux 4.7.1
导读 在Linux Kernel 4.7首个维护版本发布的同时,Greg Kroah-Hartman同时也向社区发布了Linux Kernel 4.6.7版本.作为Linux 4.6分支的第7个维护版 ...
- [NOIP2015]推销员
[NOIP2015]推销员 试题描述 阿明是一名推销员,他奉命到螺丝街推销他们公司的产品.螺丝街是一条死胡同,出口与入口是同一个,街道的一侧是围墙,另一侧是住户.螺丝街一共有 N 家住户,第 i 家住 ...
- 向着目标杀jj
海外资深实力公司招聘:1.PHP工程师,18-25K2.UI设计师,15-25K3.前端工程师,18-25K4.Python工程师,18-25K5.DBA工程师,18-25K6.服务端工程师,18- ...
- poj2240最短路 floyd
Arbitrage Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 17360 Accepted: 7308 Descri ...
- MySQL 索引详解大全
什么是索引? 1.索引 索引是表的目录,在查找内容之前可以先在目录中查找索引位置,以此快速定位查询数据.对于索引,会保存在额外的文件中. 2. 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结 ...
- Spring事务传播、隔离等级
事务传播 PROPAGATION_REQUIRED 如果当前没有事务,就新建一个事务,如果已经存在一个事务中,加入到这个事务中.这是最常见的选择. PROPAGATION_SUPPORTS 支持当前事 ...
- How to Configure Nginx for Optimized Performance
Features Pricing Add-ons Resources | Log in Sign up Guides & Tutorials Web Server Guides Nginx ...
- Linux时间同步配置方法
由于是在做mongoDB的实验中再一次的遇到了mongos路由节点同步时由于ntp时间的问题导致同步非常的慢.故写了个时间同步的语句===> while :; do rdate -s 192.1 ...
- Java for LeetCode 047 Permutations II
Given a collection of numbers that might contain duplicates, return all possible unique permutations ...