(每日一练66074)题目名称:打家劫舍

文盲老顾
新星创作者: 信息安全技术领域
领域专家: 数据库技术领域
2023-05-19 08:47:25

一个小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

输入一个正整数n代表房屋的数量(n≤100),接着输入n个非负整数代表每间房屋的现金数量

额。一共最多100个数字,暴力计算即可

n = int(input())
arr = list(map(int,input().split()))
ans = 0
def f(v,r):
    global ans
    if v > ans:
        ans = v
    l = len(r)
    if l == 0:
        return
    f(v + r[0],r[2:])
    if l > 1:
        f(v + r[1],r[3:])
f(0,arr)
print(ans)
...全文
326 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
码分蛋糕 2023-06-02
  • 打赏
  • 举报
回复

要么隔着一家偷,要么隔着两家偷,被偷的最后一家要么是倒数第一家,要么是倒数第二家。跟那个青蛙跳台阶一样的。

文盲老顾 2023-06-02
  • 打赏
  • 举报
回复

今天又碰到这个了,那就来个不那么暴力的

n = int(input())
arr = list(map(int,input().split()))
dp = [0] * n
dp[0] = arr[0]
if n > 1:
    dp[1] = max(arr[:2])
    for i in range(2,n):
        dp[i] = max(dp[i - 1],dp[i - 2] + arr[i])
print(dp[-1])
幻灰龙 2023-06-02
  • 举报
回复
@文盲老顾
yyfhz 2023-05-30
  • 打赏
  • 举报
回复 1

可以不那么暴力的。
假设所有人家都有钱,则
新建数组s[],其中s[i]用来记录从头开始到第i家能抢到的最多钱数
新增指示数组a[],其中a[i]用来记录可以让s[i]成立的所有方案中,最后一家倒霉蛋最靠前的位置(显然了,a[i]要么是i, 要么是i-1)
于是,如果我已经有s[0],...., s[i]以及a[0],...,a[i]的所有值,
则很容易的推导出s[i+1]和a[i+1]。
若a[i]<i,则
s[i+1]=s[i]+arr[i+1]
a[i+1]=i+1
若a[i]=i, 且s[i-1]+arr[i+1]<=s[i]则
s[i+1]=s[i]
a[i+1]=i
若a[i]=i, 且s[i-1]+arr[i+1]>s[i]则
s[i+1]=s[i-1]+a[i+1]
a[i+1]=i+1

一路推算到底,最后的s[N]就是解。
然后考虑到每一步推算的过程中,真正用到的其实只有s[i-1], s[i], a[i-1], a[i]这4个变量,所以新增的数组s[]和a[]可以用4个普通变量来代替以节省空间。

内容概要:本文研究了基于蜣螂优化算法(DBO)的无线传感器网络(WSN)覆盖优化问题,提出了一种创新的智能优化方法以提升网络覆盖率和整体性能。文中详细阐述了蜣螂优化算法的核心原理及其在WSN节点部署中的应用机制,结合Matlab实现了算法仿真,并与标准PSO、自适应PSO、量子PSO、PSO-GA、PSO-GSA等多种智能优化算法进行了对比实验,验证了DBO在解决NP难问题(如TSP、QAP、背包问题)方面的优越性。研究聚焦于通过优化节点布局最大化感知覆盖范围,延长网络生命周期,提高监测效率,同时提供了完整的代码实现与仿真结果分析,展示了该方法在实际场景中的有效性与可行性。; 适合人群:具备一定编程能力和优化算法基础的科研人员、研究生及工程技术人员,特别适用于从事无线传感器网络、智能优化算法、物联网系统设计及相关领域研究的专业人士。; 使用场景及目标:①用于无线传感器网络中节点部署的优化设计,提升网络空间覆盖率与资源利用率;②作为智能优化算法的教学与科研案例,比较不同元启发式算法在复杂组合优化问题上的性能差异;③为相关科研项目提供可复现的Matlab代码支持和技术实现参考,推动算法在实际工程中的推广应用。; 阅读建议:建议读者结合提供的Matlab代码进行动手实践,深入理解算法实现细节与参数调优过程,重点关注仿真结果的对比分析,并尝试将该算法迁移至其他优化问题中以拓展其应用边界。
内容概要:本文针对电网故障下分布式能源系统的多目标无功优化问题,聚焦并网转换器(GCC)在复杂工况下的高性能控制策略研究。基于Matlab/Simulink平台,构建了以ANPC三电平逆变器为拓扑的并网系统模型,提出了一种融合双极性倍频脉宽调制(DPWMA)、正负序分离锁相环(PLL)与电网电压前馈控制的一体化控制方案。该方案旨在综合提升系统在电压对称、不平衡及动态扰动工况下的电能质量、电压稳定性与功率平衡能力。研究通过多场景仿真验证,证实所提策略能有效抑制低次谐波、降低总谐波畸变率(THD),精准分离并抑制负序分量以维持三相电流对称,并通过前馈机制显著改善动态响应速度,快速抑制电压骤升/骤降及负载切换引起的电流畸变与功率冲击,从而实现系统在恶劣电网条件下的稳定、高质量并网运行。; 适合人群:具备电力电子、新能源并网或自动控制等相关专业背景,熟悉Matlab/Simulink仿真环境,从事科研或工程开发1-5年的研究人员、高校研究生及工程技术人员。; 使用场景及目标:①深入研究高渗透率新能源背景下,电网故障时的无功优化与系统稳定控制技术;②掌握ANPC三电平逆变器的先进调制(DPWMA)与复杂电网适应性控制(正负序分离、前馈补偿)技术;③在Simulink中实现并验证不平衡、电压波动等复杂工况下的高性能并网控制算法;④为提升分布式能源系统在实际电网中的并网友好性与运行可靠性提供理论依据和技术解决方案。; 阅读建议:建议结合提供的Matlab代码与Simulink模型进行动手实践,重点剖析DPWMA调制、正负序分离锁相及电网电压前馈三大核心模块的协同工作机制,通过调整电网故障参数和控制器增益,对比分析不同控制策略下的仿真波形,深刻理解各技术环节对系统稳态与动态性能的关键影响。

320

社区成员

发帖
与我相关
我的任务
社区描述
主要用于技术交流,包括但不限于 .net,mssql,js,css,python,算法,运维。也可以晒最新技术,美图,运动等。最后,如果有问题,可以提问,老顾能帮忙的会尽量帮忙哦。
前端sqlserverasp.net 技术论坛(原bbs) 北京·西城区
社区管理员
  • 文盲老顾
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧