ZCMU - 1601: 卡斯丁狗去挖矿

简介: ZCMU - 1601: 卡斯丁狗去挖矿

题目链接:点击打开链接


题目大意:略。


解题思路:三维数组:dp[i][j][k] + 01背包;注意对每个坐标(互相独立)进行 01背包。


AC 代码

#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof a);
using namespace std;
typedef long long ll;
// 01背包 - 三维数组,前面两个相当于二维数组的[i],最后一个相当于二维数组的[j]
int dp[310][310][310];
int main()
{
    int m,n,x;
    while(~scanf("%d%d",&m,&n))
    {
        mem(dp,0);
        int rs=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=i;j++)
            {
                scanf("%d",&x);
//                for(int k=x;k<=m;k++) // 也可以AC
//                {
//                    dp[i][j][k]=max(max(dp[i-1][j-1][k],dp[i-1][j][k]),max(dp[i-1][j][k-x]+x,dp[i-1][j-1][k-x]+x));
//                }
                for(int k=0;k<=m;k++) // 对每个坐标进行 01背包
                {
                    if(k>=x)
                        dp[i][j][k]=max(max(dp[i-1][j-1][k],dp[i-1][j][k]),max(dp[i-1][j][k-x]+x,dp[i-1][j-1][k-x]+x));
                    else
                        dp[i][j][k]=max(dp[i-1][j-1][k],dp[i-1][j][k]);
                }
                rs=max(rs,dp[i][j][m]); // 因为会集中在每个坐标(01背包)的末尾,所以对末尾取max即可
            }
        printf("%d\n",rs); // dp[n][n][m] 这种是错误的思路,因为这只是代表最后一次的01背包的max,而每次坐标撸第三个for_k的时候,它们每个坐标之间都是互相独立的
    }
    return 0;
}
目录
相关文章
|
安全 NoSQL JavaScript
糟糕!我的服务器CPU被黑客挖矿了
糟糕!我的服务器CPU被黑客挖矿了
256 0
|
11月前
|
安全 网络协议 网络安全
浅谈Wannacry蠕虫比特币勒索病毒软件
大概在一个月前,有个叫影子经纪人的黑客团队攻破了方程式组织的网络大门,窃取了大量的内部信息,同时“影子经济人”希望方程式组织支付只够多的费用(要价100万美金比特币)用于赎回被窃取的内部资料,看上去这一切就像是黑吃黑。影子经纪人的黑客团队为了证明自己的确攻破了方程式的大门,随后在网上公布了他们武器库的一部分资料。当资料被公布的那一刻,全世界网络安全的人员惊呆了,这个武器库如此之强大,就好像给你展示了一个时空穿越机器,而且这个机器可能是他的实验室里众多的设备之一,而且这东西可能人家很多年前就有了,搁在那都积灰了的陈旧设备。
|
监控 安全 NoSQL
记一次服务器被挖矿木马攻击的经历
利用空余时间买了台服务器做了个小网站玩,今天访问了一下,加载巨慢,一看服务器运行情况,CPU飙到100%,按CPU消耗排序,排在第一的是一个名为“imWBR1”的进程,查了一下是一个挖矿木马,于是赶紧采取办法~
记一次服务器被挖矿木马攻击的经历
|
安全 前端开发 网络安全
分享处理khugrepaged挖矿病毒的经验
前端时间接到阿里客服的电话,说我的CPU长时间占用率过高,于是我上服务发现中病毒了,因为没有什么重要资料所以我把权限开放的比较大,3606、6379端口完全没改动也是完全对外开放的,防火墙也让我关掉了,完全就是0安全措施,khugrepaged病毒就是通过我开放的端口侵入到了我的服务器,让我成为了肉鸡。
594 0
分享处理khugrepaged挖矿病毒的经验
|
机器学习/深度学习 算法 区块链
|
安全 算法 JavaScript
精通比特币系列---挖矿与共识
简介挖矿是增加比特币货币供应的一个过程。挖矿同时还保护着比特币系统的安全,防止欺诈交易,避免“双重支付”,“双重支付”是指多次花费同一笔比特币。矿工们通过为比特币网络提供算力来换取获得比特币奖励的机会。
1558 0