Alibaba
题意:
有n个东西在一条路上,已知他们的位置,和能获得他们的最后期限,求能获得n个东西的最小总时间。
分析:
想到了求”未来费用问题",
dp[i][j][k]表示获得区间长i起点为j的所有东西,k=0最后点在左边界,k=1最后点在右边界,花费最小的费用。
dp[i][j][0]=min(dp[i-1][j+1][0]+费用,dp[i-1][j+1][1]+费用);
dp[i][j][1]=min(dp[i-1][j][0]+费用,dp[i-1][j][1]+费用);
但这个n比较大,可能会超内存,看到dp[i]总是由dp[i-1]转移过来,又学了一招用滚动数组去掉一维。
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <queue>
#include <stack>
#include <cstdio>
#include <vector>
#include <string>
#include <cctype>
#include <complex>
#include <cassert>
#include <utility>
#include <cstring>
#include <cstdlib>
#include <iostream>
#include <algorithm>
using namespace std;
typedef pair<int,int> PII;
typedef long long ll;
#define lson l,m,rt<<1
#define pi acos(-1.0)
#define rson m+1,r,rt<<11
#define All 1,N,1
#define read freopen("in.txt", "r", stdin)
const ll INFll = 0x3f3f3f3f3f3f3f3fLL;
const int INF= 0x7ffffff;
const int mod = ;
int dp[][][],d[],l[],n;
void solve(){
for(int j=;j<=n;++j)
dp[][j][]=dp[][j][]=l[j]>?:INF;
int now=;
for(int i=;i<n;++i){
now^=;
for(int j=;j<=n;++j){
int k=j+i;
if(k>n)break;
dp[now][j][]=min(dp[now^][j+][]+d[j+]-d[j],dp[now^][j+][]+d[k]-d[j]);
if(dp[now][j][]>=l[j])dp[now][j][]=INF;
dp[now][j][]=min(dp[now^][j][]+d[k]-d[j],dp[now^][j][]+d[k]-d[k-]);
if(dp[now][j][]>=l[k])dp[now][j][]=INF;
}
}
int tmp=min(dp[now][][],dp[now][][]);
if(tmp==INF)
printf("No solution\n");
else{
printf("%d\n",tmp);
}
}
int main()
{
while(~scanf("%d",&n)){
for(int i=;i<=n;++i)
scanf("%d%d",&d[i],&l[i]);
solve();
}
return ;
}
Alibaba的更多相关文章
- alibaba fastjson List<Map<String, String>>2Str
import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map; impo ...
- 阿里巴巴高新能数据源com.alibaba.druid.pool.DruidDataSource的jar包配置
aspectjweaver-1.7.4.jar druid-0.2.9.jar 两个包,用于提供com.alibaba.druid.pool.DruidDataSource
- alibaba的FastJson(高性能JSON开发包),fastjson 使用demo
这是关于FastJson的一个使用Demo,在Java环境下验证的 class User{ private int id; private String name; public int getId( ...
- alibaba的FastJson(高性能JSON开发包)
这是关于FastJson的一个使用Demo,在Java环境下验证的 class User{ private int id; private String name; public int getId( ...
- 配置DruidDataSource参考(com.alibaba.druid.pool.DruidDataSource)
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-met ...
- 【转】Dubbo是Alibaba开源的分布式服务框架
Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务模型的角度来看,Dubbo采用的是一种非常简单的模 ...
- 【Druid】 阿里巴巴推出的国产数据库连接池com.alibaba.druid.pool.DruidDataSource
阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好 简单使用介绍 Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息 ...
- alibaba的COBAR真是强大.
近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了),特此推荐给大家.Cobar是阿里巴巴研发的关系型数据 的分布式处理系统,该产品成功替代了原先基于Oracle ...
- Alibaba FastJson
import com.alibaba.fastjson.JSON import com.alibaba.fastjson.JSONObject class Test { static main(arg ...
- dubbo No provider available for the service com.alibaba.dubbo.monitor.MonitorService from registry
No provider available for the service com.alibaba.dubbo.monitor.MonitorService from registry http:// ...
随机推荐
- g++ gcc
编写一个main.cpp,linux 下执行步骤: (1)g++ mian.cpp ./a.out 后缀名是.cpp,编译完成后的可执行文件一般是a.out,也可以自己指定. (2) 编译命令(C): ...
- lintcode :Integer to Roman 整数转罗马数字
题目 整数转罗马数字 给定一个整数,将其转换成罗马数字. 返回的结果要求在1-3999的范围内. 样例 4 -> IV 12 -> XII 21 -> XXI 99 -> XC ...
- *[codility]MissingInteger
今天开始刷刷codility上respectable的题目,难度适中. https://codility.com/demo/take-sample-test/missing_integer 本题是找出 ...
- java @param参数注解
注解,@param是参数的解释.如/***@param s 这里表示对s的文字说明,描述 */ public void aa(String s){}一般java中@表示注解,解释一个方法,类,属性的作 ...
- ExecutorService中submit和execute的区别
在Java5之后,并发线程这块发生了根本的变化,最重要的莫过于新的启动.调度.管理线程的一大堆API了.在Java5以后,通过Executor来启动线程比用Thread的start()更好.在新特征中 ...
- Spring与Struts2整合VS Spring与Spring MVC整合
Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...
- pinyin4j
最近在倒腾与搜索相关的拼音检查技术,顺便看了一下中文转拼音开源插件pinyin4j的源码,参考资料:http://blog.csdn.net/hfhwfw/archive/2010/11/23/603 ...
- Linux进程的睡眠和唤醒简析
COPY FROM:http://www.2cto.com/os/201204/127771.html 1 Linux进程的睡眠和唤醒 在Linux中,仅等待CPU时间的进程称为就绪进程,它们被放置在 ...
- Learning Lua Programming (2) Lua编程基础
开始学习Lua编程,首先从一些简单的语法开始. 一.编辑环境 下面推荐一个Lua编程的IDE,感觉是很强大的.ZeroBrane Studio,windows平台,mac平台都有.点击打开链接 官方 ...
- NYOJ-253 凸包
LK的旅行 时间限制:2000 ms | 内存限制:65535 KB 难度:5 描述 LK最近要去某几个地方旅行,她从地图上计划了几个点,并且用笔点了出来,准备在五一假期去这几个城市旅行.现在 ...