堆砖块

作者: pretzei | 来源:发表于2017-04-07 11:02 被阅读0次

网易居然挂了我。。所以做一题网易的。。
https://www.nowcoder.com/question/next?pid=4575457&qid=83062&tid=7760015
dp+滚动数组+状态压缩
50w的数据让我们无法使用二维状态 50*50w也会报内存溢出
dp[i][j] i代表状态前置和后置状态 j代表两个塔的插值
我们把左边塔当作第一目标
所以j+height[i]当作往左边塔放入砖块
j-height当作右边塔放入砖块 右边塔放入时高度也会增加
如果不放入就用前置状态
三个求最大值
代码如下

#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 + 10;
int dp[2][2*N]; //第一维滚动状态 第二维两个塔的差值
int height[55];
int main()
{
    int n;
    cout << 1e5;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        scanf("%d", &height[i]);
    }
    memset(dp, 0, sizeof(dp));
    int p = 0;

    for (int j = 0; j < 2*N; j++) dp[1-p][j] = INT_MIN; //保证第一次取不到
    dp[1-p][N] = 0;//入口
    for (int i = 1; i <= n; i++)
    {
        for (int j = height[i]; j < 2*N; j++)
        {
            dp[p][j] = max(dp[1-p][j-height[i]]+height[i], dp[1-p][j]); //放到右边减小差距并增加塔高 以及不放入砖块
        }
        for (int j = 0; j+height[i] < 2*N; j++)
        {
            dp[p][j] = max(dp[p][j], dp[1-p][j+height[i]]); //放到左边增加差距
        }
        p = 1 - p;
    }
    if (dp[1-p][N]) cout << dp[1-p][N] << endl;
    else cout <<-1;
    return 0;
}

现在的我是真的弱。。下周面网易游戏、头条、美团。。good luck and fighting

相关文章

  • 堆砖块

    问题描述 小易有n块砖块,每一块砖块有一个高度。小易希望利用这些砖块堆砌两座相同高度的塔。为了让问题简单,砖块堆砌...

  • 堆砖块

    网易居然挂了我。。所以做一题网易的。。https://www.nowcoder.com/question/next...

  • 2017/4/21今日反思-原来知识不产生连接是无用的?

    原来我们所学的知识如果不使用就只是一堆占用空间的砖块废料而已,如果不规划、不建设,砖块永远成不了高楼大厦,知识本身...

  • 学画第七天之走个神

    今天收到了新书,翻了一遍,临摹了一堆砖块铁轨,觉得这砖块大法真不错,明天开始好好搬砖吧哈哈 雪莹小朋友也很喜欢这些...

  • 加法不一定是加,减法也不一定是减

    一堆砖块堆到一起不是房子,一堆零件放到那里也不是汽车或机器。够用,会用,用透,才能发挥出功效。 不管在企业经营还是...

  • 童年杂忆三绝其二

    打乒乓 砖块竹竿堆作网,洗衣石上斗输赢。 来回几似跑龙套,只怪自身球不精。 2011.11(1515)

  • css 动画

    目标:鼠标滑过砖块,砖块落下 html css

  • 《透视如此简单》——20步掌握透视基本原理(七)

    1.用砖块构建透视 在桌子上平放一块砖块,画出砖块的透视图并延长有平行关系的直线交至消失点。在砖块上再叠放一块砖块...

  • 弹球打砖块

    最好玩的物理打砖块游戏 超经典阶级打砖块全新玩法 无尽的弹珠、无尽的砖块、无尽的挑战 最好玩的弹球打砖块 操作流畅...

  • 我在小区楼下随便走走

    他们一行被大人拉走了。我指的是三个小孩子。 玩砖块,堆“城堡”,当然在这几个孩子眼里,堆的是“机器人”,可不是什么...

网友评论

      本文标题:堆砖块

      本文链接:https://www.haomeiwen.com/subject/atxhattx.html