当前位置: 首页 > news >正文

国家工信部 网站备案国内外搜索引擎大全

国家工信部 网站备案,国内外搜索引擎大全,家里电脑如何做网站,网站建设大型打家劫舍 题目难度:高阶 时间限制:1000ms 内存限制:256mb 题目描述 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统&#xff…

打家劫舍

题目难度:高阶

时间限制:1000ms

内存限制:256mb

题目描述

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。

给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。

输入格式

第一行一个整数n,表示房屋的数量。

第二行n个整数,空格隔开,依次表示沿街n个房屋内的现金数量。

输出格式

一个整数,表示小偷能得到的最高金额。

样例数据
输入样例
4
1 2 3 1
输出样例
4
数据范围

对100%的数据,2<n≤10^5,每个房屋内金额不超过1000。


思路:

不要被这个高阶的难度吓到了,其实很简单

首先,我们知道这是动态规划,所以定义一个数组,long long dp[n+10];

dp[i]代表从第一家一直偷到第i家最多能投到多少钱(比如dp[5]表示从第一家到第五家最多偷几块钱)

好的,现在我们只要知道,dp[i]等于什么就好了(状态转移方程)

分析一下,假设我们知道了dp[1]到dp[4]的所有结果,现在我们要求dp[5],应该怎么求呢?

因为我们不能偷相邻的房间,所以现在我们求dp[5]有两种选择:

1、dp[5]=dp[4],这是什么意思呢?就是说,我们从第一间房子偷到第四间房子,已经偷了很多钱(比如已经偷了114514元钱),如果从第一间房子偷到第三间房子,再偷第五间房子,可能只能偷到1元,这种时候,最好的情况就是偷到第四间房子停下来,不偷第五间了,所以dp[5]只能等于偷到第四件的最大钱数

2、dp[5]=dp[3]+a[5],这又是什么意思呢?就是从第一间房子偷到第三间房子,再偷第五间房子,这样偷到的钱可能会比偷到第四间房子偷的多,所以我们就会选择能偷更多的2号方案(就是从第一间房子偷到第三间房子,再偷第五间房子)

现在我们知道了,已经有两种选择,所以dp[i]=max(dp[i-2]+a[i],dp[i-1]);

现在,我们还需要解决一个问题:

如果dp[i]=max(dp[i-2]+a[i],dp[i-1]);那么当i=3或者4时,需要用到dp[1]或dp[2],但求dp[1]要求出dp[1-2]=dp[-1],但我们不可能有dp[-1]这个数组,所以,dp[1]和dp[2]要我们提前求出来

dp[1]就等于第一间房子的钱数(从第一间房子偷到第一间房子,我们最多只能把第一间房子的钱全拿走)

dp[2]=max(a[1],a[2]);从第一间房子偷到第二间房子,我们只能偷一间房子,否则就会触发警报,只能偷第一间或第二间

那么,我们现在就能写出程序了


代码:

#include<bits/stdc++.h>
using namespace std;
int main(){long long n;cin>>n;long long a[n+10],dp[n+10];//a存每间房子的钱数 for(int i=1;i<=n;i++){cin>>a[i];//读入 }for(int i=1;i<=n;i++){if(i==1){//提前处理dp[1] dp[i]=a[i];}else if(i==2){//提前处理dp[2] dp[i]=max(a[i-1],a[i]);}else{//否则就是正常状态了,直接把状态转移方程抄进去 dp[i]=max(dp[i-2]+a[i],dp[i-1]);}}cout<<dp[n];//输出从第一间房子偷到第n间房子最多偷多少 return 0;
}

http://www.rdtb.cn/news/15267.html

相关文章:

  • 济南网站建设 力推聚搜网络上海百度seo
  • 免费照片编辑器seo工作流程
  • wordpress 课程激活北京官网seo收费
  • wordpress周期seo培训机构哪家好
  • 济南网站排名推广进一步优化营商环境
  • 政府门户网站建设合同刺激广告
  • 如何学好网站开发推广软文平台
  • 微信上做网站编辑网页版登录入口
  • 邵阳哪里做网站网络营销师证书
  • 免费网站建设视频百度百科创建
  • 个人或主题网站建设实验体会google下载官方版
  • 做58类网站需要多少钱福清市百度seo
  • 时时彩 网站开发电商代运营公司
  • 装修品牌焦作seo推广
  • 临沂做商城网站外贸推广有哪些好的方式
  • 关键词自然排名优化网站seo的主要优化内容
  • 从零开始网页制作教程seo高级优化方法
  • 一级 做爰免费网站神马网站快速排名案例
  • 丰台周边网站建设上海谷歌推广
  • 企业网站开发软件营业推广策略
  • 住建网是个什么网站开网店怎么开 新手无货源
  • 网站建设和维护释义全网热搜榜第一名
  • 投票网站如何做资讯门户类网站有哪些
  • 广州h5网站制作新媒体运营怎么自学
  • 如何做网站引流山东今日头条新闻
  • 企业网站策划案全球搜
  • 域名服务器ip查询杭州seo优化
  • 公司交易平台网上海网站优化公司
  • 医疗机构网站以患者做宣传线上广告投放方式
  • 做网站外包工作怎么样最成功的网络营销案例