bzoj 1761: [Baltic2009]beetle 区间dp
1761: [Baltic2009]beetle
Time Limit: 4 Sec Memory Limit: 64 MB
Submit: 255 Solved: 92
[Submit][Status][Discuss]
Description
一个虫子在坐标轴0点上,它每个单位时间移动一格,每个点的水每单位时间消失1升.
问虫子最多可以喝到多少水,喝水的时间忽略不计
Input
下面N行给出N个点的坐标Xi
0 ≤ n ≤ 300, 1 ≤ m ≤ 1,000,000, −10,000 ≤ x1, x2, . . . , xn ≤ 10,000,
Output
Sample Input
6
-3
1
Sample Output
HINT
虫子开始在0点,它先到1这个点喝水,再到-3,再到6.
走一步产生的损失等于剩下没有喝的位置总数,则另f[x][y][p]表示左端点x,右端点y,当前在x/y位置,最小损失为多少,转移的时候为了处理水量不能减成负数的问题,需要在枚举最终要喝多少个位置。
4s O(n^3)有一点常数问题。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
#define MAXN 310
#define INFL 0x3f3f3f3f3f3f3f3fLL
typedef long long qword;
int a[MAXN];
qword dp[MAXN][MAXN][];
qword dis[MAXN][MAXN];
inline void deal(qword &x,qword y)
{
x=min(x,y);
} int main()
{
freopen("input.txt","r",stdin);
int n,m;
scanf("%d%d",&n,&m);
for (int i=;i<n;i++)
scanf("%d",a+i);
a[n++]=;
qword ans=-INFL;
sort(a,a+n);
for (int i=;i<n;i++)
for (int j=;j<n;j++)
dis[i][j]=abs(a[i]-a[j]);
int x=lower_bound(a,a+n,)-a;
for (register int tot=;tot<=n;tot++)
{
memset(dp,0x3f,sizeof(dp));
dp[x][x][]=;
for (register int i=;i<=tot;i++)
{
for (register int j=;j+i-<n;j++)
{
if (dp[j][j+i-][]<INFL)
{
if (j)
deal(dp[j-][j-+(i+)-][],dp[j][j+i-][]+dis[j][j-]*(tot-i));
if (j+i-<n-)
deal(dp[j][j+(i+)-][],dp[j][j+i-][]+dis[j][j+(i+)-]*(tot-i));
}
if (dp[j][j+i-][]<INFL)
{
if (j)
deal(dp[j-][j-+(i+)-][],dp[j][j+i-][]+dis[j+i-][j-]*(tot-i));
if (j+i-<n-)
deal(dp[j][j+(i+)-][],dp[j][j+i-][]+dis[j+i-][j+(i+)-]*(tot-i));
}
}
}
for (int j=;j+tot-<n;j++)
{
ans=max(ans,(qword)m*(tot-)-min(dp[j][j+tot-][],dp[j][j+tot-][]));
}
}
printf("%lld\n",ans);
}
bzoj 1761: [Baltic2009]beetle 区间dp的更多相关文章
- BZOJ 1260&UVa 4394 区间DP
题意: 给一段字符串成段染色,问染成目标串最少次数. SOL: 区间DP... DP[i][j]表示从i染到j最小代价 转移:dp[i][j]=min(dp[i][j],dp[i+1][k]+dp[k ...
- BZOJ 2933([Poi1999]地图-区间Dp)
2933: [Poi1999]地图 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 7 Solved: 7 [ Submit][ Status] ...
- BZOJ 1055 玩具取名(区间DP)
很显然的区间DP,定义dp[i][j][k], 如果dp[i][j][k]=1表示字符串[i,j]可以组成k字符. # include <cstdio> # include <cst ...
- bzoj 1068 [SCOI2007]压缩 区间dp
[SCOI2007]压缩 Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1644 Solved: 1042[Submit][Status][Discu ...
- BZOJ 2121: 字符串游戏 区间DP + 思维
Description BX正在进行一个字符串游戏,他手上有一个字符串L,以及其他一些字符串的集合S,然后他可以进行以下操作:对 于一个在集合S中的字符串p,如果p在L中出现,BX就可以选择是否将其删 ...
- bzoj 1003物流运输 区间dp+spfa
基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时. 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举 ...
- bzoj 1564 [NOI2009]二叉查找树 区间DP
[NOI2009]二叉查找树 Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 906 Solved: 630[Submit][Status][Discu ...
- BZOJ 1090 字符串折叠(区间DP)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=1090 题意:字符串AAAAAAAAAABABABCCD的最短折叠为9(A)3(AB)CC ...
- BZOJ 2298 problem a(区间DP)
题意:一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相同的分数) 思路:考虑最多有多少人说真,那么答案就是n-max. ai个人分数 ...
随机推荐
- Cisco交换机设置管理IP
需要准备一根CONSOLE线和带串行接口的电脑. (图1) 用CONSOLE线连接好电脑与交换机(交换机的CONSOLE口一般都有表示). 然后按照图1点“开始→程序→超级终端”会弹出来一个窗口(图2 ...
- 不支持的关键字:“provider connection string”报错信息及解决方案
今天在部署公司开发框架的时候 ,登录系统之后调用代办列表的时候就报错了 总线调用契约XX.Service.Contracts.IXXService上的GetXXCount方法时出错. Resoluti ...
- javaHDU1003Max Sum
import java.util.Scanner; public class Sum {public static void main(String args[]) {Scanner cin=n ...
- input 的 placeholder属性在IE8下的兼容处理
placeholder是input标签的新属性,在使用的时候有两个问题: 1.IE8 下不兼容 处理思路: 如果浏览器不识别placeholder属性,给input添加类名placeholder,模仿 ...
- 总结一下const和readonly
const和readonly的值一旦初始化则都不再可以改写: const只能在声明时初始化:readonly既可以在声明时初始化也可以在构造器中初始化: const隐含static,不可以再写stat ...
- STORM 免费且开源的WebSerivce测试工具
一.名称 STORM 是一款免费且开源的WebSerivce测试工具 二.使用方式 1.发布自己的webservice服务 例如:http://www.webxml.com.cn/WebService ...
- 二、 What's Maven,How to learning?
1. 哈哈,什么是Maevn, ←_←|| ?我怎么知道,来看看官方解释, Apache Maven is a software project management and comprehensio ...
- 时间处理总结(一).net
不断整理中... 获取当前时间DateTime.Now.ToString("d") ;//获取到的日期格式为eg :2013/11/14 时间格式只取年月日DateTime.Now ...
- iOS开发——生成二维码——工具类
啥也不说,直接上源码,拷过去就能用.生成二维码的工具类使用方法在ProduceQRCode.h里有示例说明 分别将下面的ProduceQRCode.h和ProduceQRCode.m对应的代码考到自己 ...
- iOS svn版本回退 cornerstone
http://blog.csdn.net/x32sky/article/details/46866899 IOS开发中,SVN如何恢复到某一个版本(以Cornerstone为例) Cornerst ...