2037: [Sdoi2008]Sue的小球
2037: [Sdoi2008]Sue的小球
题解
代码
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<iostream>
#include<cctype> using namespace std; const int N = ; struct Node{
int x,y,v;
bool operator < (const Node &a) const {
return x < a.x;
}
}d[N];
int dp[N][N][],sum[N]; inline int read() {
int x = ,f = ;char ch=getchar();
for (; !isdigit(ch); ch=getchar()) if(ch=='-')f=-;
for (; isdigit(ch); ch=getchar()) x=x*+ch-'';
return x*f;
} int main() {
int n = read(), x0 = read();
for (int i=; i<=n; ++i) d[i].x = read();
for (int i=; i<=n; ++i) d[i].y = read();
for (int i=; i<=n; ++i) d[i].v = read(); sort(d+,d+n+);
for (int i=; i<=n; ++i) sum[i] = sum[i-] + d[i].v; // 对下降速度求前缀和 for (int i=; i<=n; ++i)
dp[i][i][] = dp[i][i][] = d[i].y - abs(x0-d[i].x)*sum[n]; //表示已经收集了[i,i]这个区间 for (int k=; k<=n; ++k) {
for (int i=; i+k-<=n; ++i) {
int j = i + k - ;
dp[i][j][] = max(dp[i+][j][] + d[i].y - (sum[n] - sum[j] + sum[i]) * (d[i+].x - d[i].x),
dp[i+][j][] + d[i].y - (sum[n] - sum[j] + sum[i]) * (d[j].x - d[i].x));
dp[i][j][] = max(dp[i][j-][] + d[j].y - (sum[n] - sum[j-] + sum[i-]) * (d[j].x - d[i].x),
dp[i][j-][] + d[j].y - (sum[n] - sum[j-] + sum[i-]) * (d[j].x - d[j-].x));
}
} double ans = 1.0*(max(dp[][n][],dp[][n][]))/1000.0;
printf("%.3lf",ans); return ;
}
2037: [Sdoi2008]Sue的小球的更多相关文章
- bzoj 2037: [Sdoi2008]Sue的小球——dp
Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩 ...
- bzoj 2037: [Sdoi2008]Sue的小球
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; struc ...
- 【BZOJ2037】[Sdoi2008]Sue的小球 区间DP+费用提前
[BZOJ2037][Sdoi2008]Sue的小球 Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而 ...
- BZOJ2037: [Sdoi2008]Sue的小球
Description Sue 和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海 盗,而是要收集空中漂浮 ...
- [SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- [luogu2446][bzoj2037][SDOI2008]Sue的小球【区间DP】
分析 简单区间DP, 定义状态f[i][j][0/1]为取完i-j的小球最后取i/j上的小球所能获得的最大价值. 排序转移. ac代码 #include <bits/stdc++.h> # ...
- BZOJ2037: [Sdoi2008]Sue的小球(区间DP)
Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 869 Solved: 483[Submit][Status][Discuss] Description ...
- Luogu[SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- 【简●解】[SDOI2008] Sue的小球
[简●解][SDOI2008] Sue的小球 计划着刷\(DP\)题结果碰到了这样一道论文题,幸好不是太难. [题目大意] 口水话有点多,所以就直接放链接.传送门 [分析] 看到题首先联想到了曾经做过 ...
随机推荐
- wechat开发笔记之1.线上环境搭建与测试
Wechat开发笔记 线上环境搭建: 申请一个wechat公众平台. 手机个人微信可以用webwechat来测试. Website:https://web.weixin.qq.com/ 手机客户端扫一 ...
- android selector中使用shape
<shape> <!-- 实心 --> <solid android:color="#ff9d77"/> <!-- 渐变 --&g ...
- mysql:JDBC url 参数详解
MySql链接url参数详解 jdbc:mysql://[host:port],[host:port].../[database][?参数名1][=参数值1][&参数名2][=参数值2]... ...
- PHP:将json数据放进html标签中的详细讲解
1.在controller中调用某方法,得到最终的json数据.根据框架开发形式,将Json数据传入视图中 2.在视图中,我们放置一个hidden形式的标签,并获取到json数据 3.这时候,我们查看 ...
- Altium_Designer-怎么将“原理图的更改”更新到“pcb图”?
打开原理图,直击菜单栏>>Design,选择第一项,>>Update PCB Document...在弹出的对话框里面选择执行更改即可将原理图更新到工程下面对应的PCB.也可以 ...
- Linux 源码安装MariaDB 10.0.16
cmake软件 tar -zxvf cmake-2.8.8.tar.gz cd cmake-2.8.8 ./bootstrap make && make install 依 ...
- 类似LIS+贪心(ZOJ1025)
题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=25 解题报告: #include <cstdio> #in ...
- Eclipse快捷键功能
转载一篇另人写的:https://blog.csdn.net/qq_30617755/article/details/50781003 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能 ...
- 7 MSSQL数据库备份与恢复
0 MSSQL数据库备份 1 SQLAgent配置 2 设置连接属性 3 输入SA账号密码 4 SQL备份脚本配置 5 生成SQL全量备份脚本 6 生成SQL差异备份脚本 7 修改SQL差异备份脚本 ...
- Win7多用户同时登陆
软件提供下载: http://pan.baidu.com/s/1o6FQv70