分析

简单区间DP,
定义状态f[i][j][0/1]为取完i-j的小球最后取i/j上的小球所能获得的最大价值。
排序转移。

ac代码

#include <bits/stdc++.h>
#define N 1005
using namespace std;
template <typename T>
inline void read(T &x) {
    x = 0; T fl = 1; char ch = 0;
    for (; ch < '0' || ch > '9'; ch = getchar())
        if (ch == '-') fl = -1;
    for (; ch >= '0' && ch <= '9'; ch = getchar())
        x = (x << 1) + (x << 3) + (ch ^ 48);
    x *= fl;
}
struct node {
    int x, y, val;
}a[N];
int f[N][N][2], sum[N];
int n, x0;
bool cmp(const node &a, const node &b) {
    return a.x == b.x? a.y < b.y: a.x < b.x;
}
int main() {
    read(n); read(x0);
    for (int i = 1; i <= n; i ++) read(a[i].x);
    for (int i = 1; i <= n; i ++) read(a[i].y);
    for (int i = 1; i <= n; i ++) read(a[i].val);
    sort(a + 1, a + 1 + n, cmp);
    for (int i = 1; i <= n; i ++) sum[i] = sum[i - 1] + a[i].val;
    for (int i = 1; i <= n; i ++)
        f[i][i][0] = f[i][i][1] = a[i].y - abs(a[i].x - x0) * sum[n];
    for (int i = 2; i <= n; i ++) {
        for (int j = 1; j <= n - i + 1; j ++) {
            int k = j + i - 1;
            f[j][k][0] = max(f[j + 1][k][1] + a[j].y - (sum[n] - sum[k] + sum[j]) * abs(a[k].x - a[j].x), f[j + 1][k][0] + a[j].y - (sum[n] - sum[k] + sum[j]) * abs(a[j + 1].x - a[j].x));
            f[j][k][1] = max(f[j][k - 1][0] + a[k].y - (sum[n] - sum[k - 1] + sum[j - 1]) * abs(a[k].x - a[j].x), f[j][k - 1][1] + a[k].y - (sum[n] - sum[k - 1] + sum[j - 1]) * abs(a[k].x - a[k - 1].x));
        }
    }
    printf("%.3lf\n", 1.0 * max(f[1][n][1], f[1][n][0]) / 1000.0);
    return 0;
}

[luogu2446][bzoj2037][SDOI2008]Sue的小球【区间DP】的更多相关文章

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

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

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

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

  3. BZOJ2037: [Sdoi2008]Sue的小球

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

  4. 2037: [Sdoi2008]Sue的小球

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

  5. 【BZOJ2037】Sue的小球(动态规划)

    [BZOJ2037]Sue的小球(动态规划) 题面 BZOJ 题解 莫名想到这道题目 很明显是一样的 设\(f[i][j][0/1]\)表示已经接到了\(i-j\)这一段的小球 当前在\(i\)或者在 ...

  6. [SDOI2008]Sue的小球

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

  7. Luogu[SDOI2008]Sue的小球

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

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

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

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

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

随机推荐

  1. Volterra方程的不动点

  2. Django ORM 反向查询

    一/一对多反向查询   先定义两个模型,一个是A,一个是B,是一对多的类型. class A(models.Model): name= models.CharField('名称', max_lengt ...

  3. JavaWeb连接SQLServer数据库并完成一个登录界面及其功能设计。

    一.JDBC连接SQLserver数据库的步骤: 1.下载SQLserver的JDBC驱动文件——Microsoft JDBC Driver 4.0 for SQL Server 2.例如下载得到的文 ...

  4. NGINX Docs | Load Balancing Apache Tomcat Servers with NGINX Open Source and NGINX Plus

    NGINX Docs | Load Balancing Apache Tomcat Servers with NGINX Open Source and NGINX Plushttps://docs. ...

  5. javascript内置函数:toString()

    不同对象有不同的实现方式. 1.Number对象: 语法:numberObject.toString([radix]) 参数:radix,可选/Number类型,指定的基数(进制数),支持[2,36] ...

  6. 编写自己的composer项目

    编写自己的composer项目   composer的出现给php开发带来极大的便利, 配合phpunit的测试工具, 也可以更好的规范php开发. 尽管这些标准不是官方提供的, 但现在大部分的php ...

  7. java.lang包【Object类】

    基本描述: (1)Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入: (2)Object类是所有Java类的祖先.每个类都使用 Obje ...

  8. Excel文件读取的两种方式

    1.Pandas库的读取操作 from pandas import read_excel dr=read_excel(filename,header) dr#dataframe数据 dw=DataFr ...

  9. Nginx安装- CentOS7

    1.确认是否具备安装环境 g++  -v 如果不打印则不具备. 解决办法:联网执行如下命令 yum install gcc yum install gcc-c++ 2.需要材料 pcre-8.37.t ...

  10. Centos rpm包安装PHP所需包

    yum -y install php php-devel php-fpm php-xml php-pdo php-ldap php-mysql