news 2026/4/30 23:36:51

20251103折半搜索总结

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
20251103折半搜索总结

引子

折半搜索(又称meet-in-the-middle)是一种优化搜索算法的方法。其说白了就是将搜索过程分成两个部分:先分别对两部分进行独立搜索,得到两个结果序列,最后通过合并这两个序列得到答案。

由于搜索算法的时间复杂度通常为指数级,当n较大时容易导致超时。采用折半搜索后,时间复杂度可由O(2n)O(2^n)O(2n)降到O(2n2+1)O(2^{\frac{n}{2}+1})O(22n+1)

C P4799 世界冰球锦标赛

折半搜索模板为何放在放在第三题?

这题就先折半搜索,接着合并时,我们可以先将一部分进行排列使其有序,然后遍历另一部分,每次进行二分搜索查找可行的答案,最后叠加可行方案数。

#include<bits/stdc++.h>usingnamespacestd;intn;longlongm,a[45];vector<longlong>a1,a2;voiddfs1(intk,longlongsum){if(sum>m)return;if(k>n/2){a1.push_back(sum);return;}dfs1(k+1,sum+a[k]);dfs1(k+1,sum);}longlongans=0;voiddfs2(intk,longlongsum){if(sum>m)return;if(k>n){a2.push_back(sum);return;}dfs2(k+1,sum+a[k]);dfs2(k+1,sum);}intmain(){cin>>n>>m;for(inti=1;i<=n;i++){cin>>a[i];}dfs1(1,0);dfs2(n/2+1,0);sort(a2.begin(),a2.end());for(autoi:a1){intp=upper_bound(a2.begin(),a2.end(),m-i)-a2.begin();ans+=p;}cout<<ans;return0;}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 16:22:25

9、访问卷影副本(Volume Shadow Copies)的方法与自动化操作

访问卷影副本(Volume Shadow Copies)的方法与自动化操作 1. VHD 方法访问 VSCs 使用 VHD 方法访问卷影副本(VSCs),可按以下步骤操作: 1. 转换为 VHD 文件 :使用 “vhdtool.exe” 将镜像文件的工作副本转换为 VHD 文件。 2. 挂载 VHD 文件 :使用磁盘管理控制台或…

作者头像 李华
网站建设 2026/4/22 2:15:06

27、时间线分析:原理、操作与案例实践

时间线分析:原理、操作与案例实践 1. 时间线分析基础与数据来源 在进行系统分析时,时间线分析是一项非常重要的技术。它能帮助我们梳理系统中各种事件的先后顺序,从而更好地理解系统的运行情况和可能存在的问题。 时间线分析的数据来源丰富多样。常见的Windows系统中有许…

作者头像 李华
网站建设 2026/4/26 6:01:47

28、数字取证中的时间线与应用分析

数字取证中的时间线与应用分析 1. 时间线分析的价值与应用 时间线分析在数字取证中是一种强大且有价值的技术。在分析系统时,我们可能会发现疑似恶意软件的文件,例如“rpcall.exe”。通过时间线分析,我们不仅能找到潜在的恶意软件,还能获取其在系统中激活的相关上下文信息…

作者头像 李华
网站建设 2026/4/24 2:42:43

渗透测试报告公开:展现安全自信

渗透测试报告公开&#xff1a;展现安全自信 在企业级 AI 应用加速落地的今天&#xff0c;一个核心问题始终萦绕在决策者心头&#xff1a;我们能否真正信任这个“聪明”的系统&#xff1f;尤其是当它开始处理合同条款、财务数据甚至员工档案时&#xff0c;任何一次越权访问或意外…

作者头像 李华
网站建设 2026/4/28 20:03:35

通俗解释二阶系统频率响应的波特图表现

看懂二阶系统的“心跳曲线”&#xff1a;从波特图读懂系统性格你有没有试过轻轻推一个秋千&#xff1f;推得太慢&#xff0c;它反应迟钝&#xff1b;推得恰到好处&#xff0c;它越荡越高&#xff1b;要是频率不对&#xff0c;反而会把它“卡住”。这个过程&#xff0c;本质上就…

作者头像 李华
网站建设 2026/4/26 11:56:09

Altium Designer四层板PCB绘制堆叠设计完整示例

四层板PCB设计实战&#xff1a;从Altium堆叠规划到高速信号落地你有没有遇到过这样的情况&#xff1f;电路原理图明明没问题&#xff0c;元器件选型也合理&#xff0c;但做出来的板子就是不稳定——USB传着传着丢包、ADC采样噪声大得离谱、以太网偶尔断连……最后排查半天&…

作者头像 李华