Bzoj2037 [Sdoi2008]Sue的小球
Submit: 672 Solved: 372
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
动态规划 区间DP
直接求得到了多少分,不方便记录当前花费了多少时间,计算复杂(可能)
所以改求最少损失多少分
先把所有彩蛋按横坐标排序,并添加一个表示起点的无价值球。f[i][j]表示当前把从i到j区间的球都取完了,最小损失的分数。
↑然而只知道一段区间里的球都取完了,不知道人最后在什么位置,也无法算时间。
↑想想就知道人最后肯定停在区间的左端点或者右端点,那么再加一维表示状态就可以。(这里直接分成了两个数组)。
1 /*by SilverN*/ 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring> 5 #include<cstdio> 6 #include<cmath> 7 #include<map> 8 using namespace std; 9 const int mxn=1010; 10 int read(){ 11 int x=0,f=1;char ch=getchar(); 12 while(ch<'0' || ch>'9'){if(ch=='-')f=-1;ch=getchar();} 13 while(ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();} 14 return x*f; 15 } 16 int L[mxn][mxn],R[mxn][mxn]; 17 int n,x0; 18 struct node{ 19 int x,y; 20 int v; 21 }a[mxn]; 22 bool cmp(node a,node b){ 23 return a.x<b.x; 24 } 25 int c[mxn],cnt=0; 26 int smm[mxn],sc=0; 27 int calc(int l,int r){ 28 return smm[r]-smm[l-1]; 29 } 30 int main(){ 31 int i,j; 32 n=read();x0=read(); 33 for(i=1;i<=n;i++){a[i].x=read();} 34 for(i=1;i<=n;i++){a[i].y=read();sc+=a[i].y;} 35 for(i=1;i<=n;i++)a[i].v=read(); 36 a[++n]=(node){x0,0,0}; 37 sort(a+1,a+n+1,cmp); 38 // 39 for(i=1;i<=n;i++){ 40 smm[i]=smm[i-1]+a[i].v; 41 } 42 memset(L,0x3f,sizeof L); 43 memset(R,0x3f,sizeof R); 44 for(i=1;i<=n;i++)if(a[i].x==x0 && a[i].v==0){ 45 L[i][i]=0; 46 R[i][i]=0; 47 } 48 for(int st=1;st<n;st++){ 49 for(i=1;i<=n;i++){ 50 int j=i+st; 51 if(j>n)break; 52 L[i][j]=min(L[i][j],L[i+1][j]+(a[i+1].x-a[i].x)*(calc(1,i)+calc(j+1,n))); 53 L[i][j]=min(L[i][j],R[i+1][j]+(a[j].x-a[i].x)*(calc(1,i)+calc(j+1,n))); 54 R[i][j]=min(R[i][j],R[i][j-1]+(a[j].x-a[j-1].x)*(calc(1,i-1)+calc(j,n))); 55 R[i][j]=min(R[i][j],L[i][j-1]+(a[j].x-a[i].x)*(calc(1,i-1)+calc(j,n))); 56 } 57 } 58 int ans=min(L[1][n],R[1][n]); 59 ans=sc-ans; 60 double res=ans/(double)1000; 61 printf("%.3f\n",res); 62 return 0; 63 }
转载于:https://www.cnblogs.com/SilverNebula/p/6492470.html
Bzoj2037 [Sdoi2008]Sue的小球相关推荐
- Bzoj2037: [Sdoi2008]Sue的小球
题面 传送门 Sol 就相当于从\(x_0\)开始左右横走,显然可以设\(f[0/1][i][j]\)表示左到\(i\)右到\(j\),当前在左/右的代价 但是不好记转移代价,因为不知道时间 那么可以 ...
- [SDOI2008]SUE的小球
[SDOI2008]SUE的小球 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Form ...
- BZOJ 2037 Sue的小球
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2037 题意:二维平面上有一些彩蛋(x,y),每个彩蛋会下落.当移动到彩蛋下方时会获得彩蛋 ...
- 2017.10.27 sue的小球 失败总结
这个题是论文题...说这个题之前先说一下关路灯 这两个题都有时间的限制,但都不能作为状态设计进去 关路灯那个题,由于要忽略时间的限制,所以对于一个区间省得最多,是不是就是最优解了呢 首先,就算你知道这 ...
- 动态规划--from zpz
版权声明:copy from zpz,我可能要修改 https://blog.csdn.net/qq_40828060/article/details/83064425 文章目录 前言 记忆化搜索 动 ...
- 动态规划,且学且放弃
文章目录 前言 记忆化搜索 动态规划的基本解题思路 背包问题 01背包 (待处理)P1489 猫狗大战 01背包的空间优化问题 P1048 采药 P1510 精卫填海 P1566 加等式 P1504 ...
- 2022-2028年中国小球产业深度调研及投资前景预测报告(全卷)
[报告类型]产业研究 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了小球行业相关概述.中国小球行业运行环境.分析了中国小球行业的现状.中 ...
- 树莓派视觉小车 -- 小球追踪(颜色追踪)(OpenCV色彩空间HSV)
目录 效果展示 基础理论(HSV) 为什么用HSV空间而不是RGB空间? HSV 1.Hue(色相) 2.Value(明度) 3.Saturation(饱和度) 一.初始化 滑动条初始化 1.创建回调 ...
- BZOJ 2190: [SDOI2008]仪仗队( 欧拉函数 )
假设C君为(0, 0), 则右上方为(n - 1, n - 1). 一个点(x, y) 能被看到的前提是gcd(x, y) = 1, 所以 answer = ∑ phi(i) * 2 + 2 - 1 ...
- android小球移动代码,Android自定义圆形View实现小球跟随手指移动效果
本文实例为大家分享了Android实现小球跟随手指移动效果的具体代码,供大家参考,具体内容如下 一. 需求功能 手指在屏幕上滑动,红色的小球始终跟随手指移动. 实现的思路: 1)自定义View,在on ...
最新文章
- 设计模式系列(一)单例模式
- Android网络优化之HttpClient
- 数学之路(2)-数据分析-R基础(2)
- linux 杀掉php,Linux_在Linux系统中使用xkill命令杀掉未响应的进程,我们如何在Linux中杀掉一个资 - phpStudy...
- 你真的需要 @DirtiesContext?
- 正则表达式各种常规应用
- 使用SSIS包导入SQL Server FILESTREAM数据
- java学习中,二分法查找数组中的元素(java 学习中的小记录)
- matlab图例使用技巧
- 我用计算机的故事,计算机老师的我的教育故事随笔
- barebox启动分析(一)
- Big Data 导论HadoopHDFS
- 下一代图像压缩格式科普---HEIF 与AVIF格式
- dsf5.0修改不了头像
- android命令大全 pdf,android调试桥(adb)常用命令.pdf
- 高数笔记(十):定积分的概念与性质,微积分基本公式,牛顿-莱布尼兹公式,变限函数求导
- 2020最新安卓版本是多少_百度浏览器2020最新版本下载,百度浏览器2020官方最新版本下载安装 v7.19.13.0...
- CQHMI品牌NR系列HMI人机界面在纺织机械设备行业中的应用
- c语言除法取两位小数点,高精度除法小数点位数
- Silverlight实用窍门系列:14.Visifire图表控件的使用一(图表的创建和基础使用)【附带源码实例】...
热门文章
- 红色警戒2修改器原理百科(八)
- 鲁大师2021年度PC硬件报告:AMD跑分超神,华米OV入局笔记本
- 苹果开发者后台,修改付费app中银行账户信息时注意
- mysql压缩修复数据库_压缩修复Access数据库
- Oracle 数据库修复,IBM DB2 数据库修复,MY SQL 数据库修复,SQL Server 数据 库修复,Sybase 数据库,Foxpro 数据库,Access 数据库,Informi
- 【操作系统】第二章--进程的描述与控制--深入与解释(1)
- linux系统截图有快捷键吗,Linux下用快捷键截图
- Android之---揭秘微信不死的进程
- 视频教程-C/C++黑客编程入门教学视频-C/C++
- Power BI中字体使用微软雅黑