#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
struct data
{
int x,y,v;
}a[];
int f[][][],n,x0,b[],sum[],tot;
bool cmp(data a1,data a2)
{
return a1.x<a2.x;
}
int main()
{
scanf("%d%d",&n,&x0);
for(int i=;i<=n;i++)
{
scanf("%d",&a[i].x);
a[i].x-=x0;
}
for(int i=;i<=n;i++)
{
scanf("%d",&a[i].y);
tot+=a[i].y;
}
for(int i=;i<=n;i++)
scanf("%d",&a[i].v);
sort(a,a+n+,cmp);
for(int i=;i<=n;i++)
b[i]=a[i].x;
x0=lower_bound(b,b+n+,)-b;
for(int i=x0-;i>=;i--)
sum[i]=sum[i+]+a[i].v;
for(int i=x0+;i<=n;i++)
sum[i]=sum[i-]+a[i].v;
for(int i=x0+;i<=n;i++)
{
f[x0][i][]=f[x0][i-][]+(sum[n]+sum[]-sum[i-])*abs(a[i].x-a[i-].x);
f[x0][i][]=f[x0][i][]+(sum[n]+sum[]-sum[i])*abs(a[i].x);
}
for(int i=x0-;i>=;i--)
{
f[i][x0][]=f[i+][x0][]+(sum[n]+sum[]-sum[i+])*abs(a[i].x-a[i+].x);
f[i][x0][]=f[i][x0][]+(sum[n]+sum[]-sum[i])*abs(a[i].x);
}
for(int i=x0-;i>=;i--)
for(int j=x0+;j<=n;j++)
{
f[i][j][]=f[i+][j][]+(sum[]-sum[i+]+sum[n]-sum[j])*abs(a[i].x-a[i+].x);
f[i][j][]=min(f[i][j][],f[i+][j][]+(sum[]-sum[i+]+sum[n]-sum[j])*abs(a[i].x-a[j].x));
f[i][j][]=f[i][j-][]+(sum[]-sum[i]+sum[n]-sum[j-])*abs(a[j].x-a[j-].x);
f[i][j][]=min(f[i][j][],f[i][j-][]+(sum[]-sum[i]+sum[n]-sum[j-])*abs(a[j].x-a[i].x));
}
int x0=min(f[][n][],f[][n][]);
printf("%.3lf\n",(tot-x0)*0.001);
return ;
}

很像以前在codevs上做的关路灯那个题,区间型DP,可知他不可能越过一盏灯去关另一盏。所以从起点开始,依次向两边扩展,f[i][j][0]表示关完区间[i,j]停在左边,[1]表示停在右边。

f[i][j][0]即可从f[i+1][j][0]转移来,又可从f[i+1][j][1]转移来。

bzoj 2037: [Sdoi2008]Sue的小球的更多相关文章

  1. bzoj 2037: [Sdoi2008]Sue的小球——dp

    Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩 ...

  2. 2037: [Sdoi2008]Sue的小球

    2037: [Sdoi2008]Sue的小球 链接 题解 论文 代码 #include<cstdio> #include<algorithm> #include<cstr ...

  3. 【BZOJ2037】[Sdoi2008]Sue的小球 区间DP+费用提前

    [BZOJ2037][Sdoi2008]Sue的小球 Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而 ...

  4. BZOJ2037: [Sdoi2008]Sue的小球

    Description Sue 和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海 盗,而是要收集空中漂浮 ...

  5. [SDOI2008]Sue的小球

    题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...

  6. [luogu2446][bzoj2037][SDOI2008]Sue的小球【区间DP】

    分析 简单区间DP, 定义状态f[i][j][0/1]为取完i-j的小球最后取i/j上的小球所能获得的最大价值. 排序转移. ac代码 #include <bits/stdc++.h> # ...

  7. BZOJ2037: [Sdoi2008]Sue的小球(区间DP)

    Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 869  Solved: 483[Submit][Status][Discuss] Description ...

  8. Luogu[SDOI2008]Sue的小球

    题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...

  9. 【简●解】[SDOI2008] Sue的小球

    [简●解][SDOI2008] Sue的小球 计划着刷\(DP\)题结果碰到了这样一道论文题,幸好不是太难. [题目大意] 口水话有点多,所以就直接放链接.传送门 [分析] 看到题首先联想到了曾经做过 ...

随机推荐

  1. sscanf的用法(转)

    队长做上海邀请赛的I题时遇到一个棘手的问题,字符串的处理很麻烦,按传统的gets全部读入的话还要做N多处理,太浪费时间. 回来之后搜了一下sscanf的用法发现可以很好的解决这一类问题,各种百度,转来 ...

  2. js-------》(小效果)实现倒计时及时间对象

    js实现倒计时及时间对象 JS实现倒计时效果代码如下: 1 <!doctype html> 2 <html> 3 <head> 4 <meta charset ...

  3. oracle 生成随机数【待整理】

    http://www.cnblogs.com/ulex/p/4415478.html http://blog.sina.com.cn/s/blog_6a01140c0100wimi.html

  4. jackson annotations注解详解 (zhuan)

    http://blog.csdn.net/sdyy321/article/details/40298081 ************************************** 官方WIKI: ...

  5. 车辆管理系统之搭建框架 添加必要的数据 安装svn(二)

    JAVA EE第一阶段项目——车辆管理系统.MyEclipse + MySQL +powerDesinger +tomcat +svn. 今天组长把项目的分工安排好了!这个周末两天的作业就是我的车主信 ...

  6. Html_页面的高度宽度等

    offsetTop 指元素距离上方或上层控件的位置,整型,单位像素. offsetLeft 指元素距离左方或上层控件的位置,整型,单位像素. offsetWidth 指元素控件自身的宽度,整型,单位像 ...

  7. NumPy(Numeric Python)使用方法

    NumPy官网 参考:<Python数据分析基础教程:NumPy学习指南> 用Python做科学计算(好东西) NumPy是python的核心库,是python机器学习编程的最底层的库,不 ...

  8. XML Attributes(XML属性)

    XML Attributes(XML属性) android:autoLink  是否自动链接网址或邮箱地址: android:autoText  自动检测错误: android:bufferType  ...

  9. 联想手机#P1来了#P1背后的故事系列

    http://bbs.lenovo.com/forum.php?mod=viewthread&fid=928&tid=560992&extra=page%3D1 联想手机#P1 ...

  10. servlet的配置和上下文

    一.Servlet配置对象(ServletConfig):Servlet初始化时,容器调用其init(ServletConfig)方法,传递该对象. 1.获得对象方法: (1).直接使用getServ ...