BZOJ2037: [Sdoi2008]Sue的小球
Description
Input
Output
Sample Input
-4 -2 2
22 30 26
1 9 8
Sample Output
数据范围:
N < = 1000,对于100%的数据。 -10^4 < = xi,yi,vi < = 10^4
HINT
Source
用f1[i][j]表示i到j这一段已经被消除且现在在i
用f2[i][j]表示i到j这一段已经被消除且现在在j
但是对f1[i][j]递推到其他状态时,我的决策影响的不仅仅是这一颗球,同时其他未被收集的球也在下坠,所以这道题在做决策时要顺便减去除被消除小球以外的速度和乘
移动的距离。
递推方程
f1[i][j]=max(f1[i+1][j]+a[i].y-(a[i+1].x-a[i].x)*(a[n].v-a[j].v+a[i].v),f2[i+1][j]+a[i].y-(a[j].x-a[i].x)*(a[n].v-a[j].v+a[i].v));
f2[i][j]=max(f2[i][j-1]+a[j].y-(a[j].x-a[j-1].x)*(a[n].v-a[j-1].v+a[i-1].v),f1[i][j-1]+a[j].y-(a[j].x-a[i].x)*(a[n].v-a[j-1].v+a[i-1].v));
对于a[i].v我进行了前缀和处理。
#include<cstdio>
#include<algorithm>
using namespace std;
struct A
{
int x,y,v;
}a[];
int f1[][],f2[][];
bool cmp(const A &t1,const A &t2)
{
return t1.x<t2.x;
}
int main()
{
int n,x0;
scanf("%d%d",&n,&x0);
for(int i=;i<=n;i++) scanf("%d",&a[i].x);
for(int i=;i<=n;i++) scanf("%d",&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++) a[i].v+=a[i-].v;
for(int i=;i<=n;i++)
f1[i][i]=f2[i][i]=(x0<=a[i].x?x0-a[i].x:a[i].x-x0)*a[n].v+a[i].y;
for(int l=;l<=n;l++)
for(int i=;i+l-<=n;i++)
{
int j=i+l-;
f1[i][j]=max(f1[i+][j]+a[i].y-(a[i+].x-a[i].x)*(a[n].v-a[j].v+a[i].v),f2[i+][j]+a[i].y-(a[j].x-a[i].x)*(a[n].v-a[j].v+a[i].v));
f2[i][j]=max(f2[i][j-]+a[j].y-(a[j].x-a[j-].x)*(a[n].v-a[j-].v+a[i-].v),f1[i][j-]+a[j].y-(a[j].x-a[i].x)*(a[n].v-a[j-].v+a[i-].v));
}
printf("%.3lf",max(f1[][n],f2[][n])/1000.0);
return ;
}
BZOJ2037: [Sdoi2008]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 ...
- 【BZOJ2037】[Sdoi2008]Sue的小球 区间DP+费用提前
[BZOJ2037][Sdoi2008]Sue的小球 Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而 ...
- 【BZOJ2037】Sue的小球(动态规划)
[BZOJ2037]Sue的小球(动态规划) 题面 BZOJ 题解 莫名想到这道题目 很明显是一样的 设\(f[i][j][0/1]\)表示已经接到了\(i-j\)这一段的小球 当前在\(i\)或者在 ...
- 2037: [Sdoi2008]Sue的小球
2037: [Sdoi2008]Sue的小球 链接 题解 论文 代码 #include<cstdio> #include<algorithm> #include<cstr ...
- [SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- bzoj 2037: [Sdoi2008]Sue的小球——dp
Description Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩 ...
- Luogu[SDOI2008]Sue的小球
题目描述 Sue和Sandy最近迷上了一个电脑游戏,这个游戏的故事发在美丽神秘并且充满刺激的大海上,Sue有一支轻便小巧的小船.然而,Sue的目标并不是当一个海盗,而是要收集空中漂浮的彩蛋,Sue有一 ...
- bzoj 2037: [Sdoi2008]Sue的小球
#include<cstdio> #include<iostream> #include<algorithm> using namespace std; struc ...
随机推荐
- 用Intellij打可执行jar包
1.添加maven-assembly-plugin和maven-dependency-plugin assembly:用于打可执行jar包 dependency: 导出依赖包 <plugin&g ...
- Windows平台分布式网站系统应用(转)
概述 最近.NET的世界开始闹腾了,微软官方终于加入到了对.NET跨平台的支持,并且在不久的将来,我们在VS里面写的代码可能就可以通过Mono直接在Linux和Mac上运行.那么大家(开发者和企业)为 ...
- html基础 2
HTML 文本格式化实例 (我不知道为什么“正常显示文本”这几个字不用加标签,虽然它有在<body>标签内) <html> <body> <b>文本为黑 ...
- PHP性能优化大全(转)
PHP优化对于PHP的优化主要是对php.ini中的相关主要参数进行合理调整和设置,以下我们就来看看php.ini中的一些对性能影响较大的参数应该如何设置. # vi /etc/php.ini (1) ...
- reference local jar & customize manifest
dependencies { compile files('libs/ghost4j-0.5.1.jar') compile files('libs/jai_imageio.jar') compile ...
- thinkphp3.2!Go for it!
http://document.thinkphp.cn/manual_3_2.html
- ios中,在SearchBar里面搜索内容,可根据内容来查找所需的信息资源,可获得SearchBar中的内容
贴一段我很久以前写的小demo,你们就明白了,是把textField套在alertView里的@interface ViewController : UIViewController <UIAl ...
- 习课的redis配置记录
<!-- redis begin --> <dependency> <groupId>redis.clients</groupId> <artif ...
- Mongodb故障转移
测试环境 四台测试服务器10.151.151.150:27017(主节点),10.151.151.151:27017(从节点),10.151.151.152:27018(从节点),10.151.151 ...
- javascript 中slice,substr,substring方法的对比
实际开发过程中,字符串是一种最常用的一种数据类型,而在程序中对字符串的操作也是十分繁琐,javascript中就提供了很多字符串相关的方法,然而由于方法过多,很多方法功能有交叉,参数有雷同,容易使用混 ...