第23题(动规):架子

原创 2018年04月16日 21:16:31


Description

仓库里有一个C(column)R(row)的放物品的架子。

为了能拿到任意格子里的物品,必须使用一个梯子。每次梯子只能靠在一列上,这时可以拿这列和它相邻的两列的物品,但只能拿你爬到的高度以下的所有格子中物品(包括爬到的高度)。

现在你知道今天将要拿的一些物品的位置(行、列),但为了减少危险,想尽可能少爬梯子,即爬梯子的总高度和最小。

编程求出完成今天任务后,所需爬梯子的最小可能的高度和。

Input

输入文件第一行有两个被空格分隔的整数C R, 1 <= C <=100, 1 <= R <=100,分别表示列数和行数。

输入文件第二行只有一个整数N, 1 <= N <= 100,需要拿的物品的数量。

接下面的N行,每行有2个整数A和B,1 <= A <=C, 1 <= B <= R,表示你拿物品的位置。

Output

输出文件只一行,你拿到所有物品后的可能最少爬梯子的高度和。

Sample Input

输入样例1:
5 5
3
2 3
3 4
4 4

输入样例2:
6 20
4
5 6
1 1
6 1
3 7

输入样例3:
10 10
5
9 1
7 6
5 8
4 1
3 2

Sample Output

输出样例1:
4
输出样例2:
9
输出样例3:
11

AC CODE:

#include<bits/stdc++.h>
using namespace std;
int a[105],s[105],c,r,n,maxn;
int main(){
    cin>>c>>r>>n;
    int x,y;
    for(int i=1;i<=n;i++){
        cin>>x>>y;
        a[x]=max(a[x],y);
    }
    for(int i=0;i<=c+1;i++){
        maxn=max(max(a[i-1],a[i]),a[i+1]);
        s[i]=maxn;
        if(i>=3)s[i]=min(s[i-3]+maxn,s[i-1]+a[i+1]);
    }
    cout<<s[c+1];
}

leetcode第23题(longest-consecutive-sequence)

题目: Given an unsorted array of integers, find the length of the longest consecutive elements se...
  • u012338652
  • u012338652
  • 2018年01月19日 16:59
  • 29

动态规划第五讲——leetcode上的题目动态规划汇总(上)

本节,我们将对leetcode上有关DP问题的题目做一个汇总和分析。 1.题目来源 Interleaving String 动态规划 二叉树 Unique Binary Search...
  • trochiluses
  • trochiluses
  • 2014年07月21日 15:16
  • 3001

线性动态规划——专题

定义: 线性DP问题的子状态与父状态之间往往相差一个元素,所以子状态通过添加一个增量而转换到父状态。从最小的子问题到原问题,一层一层的状态转移呈现出线性递增的关系,所以称为线性DP。 经典的线性D...
  • imutzcy
  • imutzcy
  • 2014年10月16日 12:36
  • 846

leetcode23. Merge k Sorted Lists合并K个排序链表

思路:小堆class Solution { public ListNode mergeKLists(ListNode[] lists) { if(lists.length==0...
  • away_lit
  • away_lit
  • 2018年03月17日 01:22
  • 37

矩阵动规

H - H Crawling in process... Crawling failed Time Limit:10000MS     Memory Limit:32768KB     64bit I...
  • duan_1998
  • duan_1998
  • 2016年11月21日 16:56
  • 185

一些动规题

ps:代码有点丑。 二维偏序的最长上升子序列 看到标题是不是觉得很水呢。。。 但是如果其中一维是dfs序,即在树上呢。。。 而且,还得缩环成树。。。 先缩环,一维dfs,二维线段树or单调栈...
  • huyuncong
  • huyuncong
  • 2011年10月27日 16:17
  • 796

【BZOJ1084】【SCOI2005】最大子矩阵 傻动规

题解: 这数据范围,来乱搞吧少年。 我的乱搞: m==1时做一遍,m==2时做一遍。 别讨论少情况就好,m==2时时间复杂度n^3。 代码: #include #include #incl...
  • Vmurder
  • Vmurder
  • 2015年01月20日 08:44
  • 1623

动态规划,dp

动规分类 线性动规 区间动规 树形动规
  • yichengchangan
  • yichengchangan
  • 2017年03月03日 17:41
  • 171

[转]动态规划入门练习题

 [转]动态规划入门练习题一月 5, 2010 by 玉 逍遥   HDU 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】 Robberies http://acm.hdu.e...
  • q3498233
  • q3498233
  • 2010年08月09日 10:16
  • 10452

9-16 DP动规题

#include #include #include #include #include const int oo=0x3f3f3f3f; using namespace std; int a[100...
  • Pig_cfbsl
  • Pig_cfbsl
  • 2016年09月16日 15:45
  • 226
收藏助手
不良信息举报
您举报文章:第23题(动规):架子
举报原因:
原因补充:

(最多只允许输入30个字)