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

算法——暴力+优化

本质

这类型题本质就是基于暴力解法,优化其时间复杂度

例题

  • 首先容易想到的就是组合型动态规划,可是由于在求以i位置为结尾的最长递增子序列的时候要遍历以[0-i-1]位置为结尾最长递增子序列的长度,所以时间复杂度会达到n^2。
  • 要求以i为结尾的最长递增子序列,实际上就是求以[0 - i-1]的元素A谁小于i位置的元素并且以其为结尾的最长递增子序列的长度L最长。对于同一L的,我们只需要保留A较小的哪个(因为同样的效果,能接在它后面肯定更容易),所以每种L的A只有一个,而L为n+1的A一定是接在了L为n的A上,因此L为n+1的A一定比L为n的A大,因此,按照L大小来排列,所有A组成有序的序列,因此我们可以通过二分查找算法(logn)找到i位置新元素最多能插入到谁后面,从而得到长度。也将时间复杂度降低到了n*logn。

  • 容易想到的就是暴力枚举第i天卖出可能得到最大利润,从中取最大值。一般思路就是每次枚举第i个位置,都要遍历[0-i-1]求一个最小值,所得的差就是最大利润。时间复杂度是n^2
  • 而我们做出的优化就是在枚举第i天卖出的途中就更新[0 - i-1]中的最小值,从而将时间复杂度降低到n
http://www.jsqmd.com/news/627016/

相关文章:

  • .NET源码生成器基于partial范式开发和nuget打包欧
  • Pixel Epic · Wisdom Terminal 远程开发环境配置:使用MobaXterm高效管理GPU服务器与模型服务
  • 记一次综合型流量分析 | 添柴不加火釉
  • Formily企业级表单解决方案:分布式状态管理与高性能架构的终极实践
  • Spring Boot WebFlux 性能调优技巧
  • 深入解析802.3ad动态链路聚合:LACP配置与常见问题排查
  • 从ZDT到DTLZ:多目标优化算法‘高考卷’的设计哲学与实战选型指南
  • 《数论探微:进阶版》(Arithmetic Tales: Advanced Edition)敦
  • OpenWrt下实现USB转串口驱动的配置与调试
  • 下一个任务-----利用辅助服务自动关掉app广告
  • 工业场景下安全监控相关目标检测模型开发 工人安全装备(防弧面罩、帽子)识别、危险源(火花、火种)检测 工程机械(推土机、起重机、装载机数据集设施(配电箱、放电台)、物资(罐子、颜料、轮胎)的识别与计数
  • 5分钟掌握HMCL:你的跨平台Minecraft启动器终极指南
  • ESP平台LittleFS嵌入式文件系统工程化封装库
  • 丹青识画真实案例:杭州西溪湿地游客自拍生成‘烟雨江南’题跋
  • 【LaTeX】数学建模论文高效排版技巧:定理引用、三线表与伪代码实战
  • 前端沙箱机制
  • 告别手动配置:用Rook Operator在K8s中自动化管理Ceph存储(RBD/CephFS/CSI实战)
  • SerialHTML:ESP8266纯Web串口监视器实现
  • Go语言的sync.RWMutex读
  • 实时口罩检测-通用保姆级教程:更换backbone适配更高清输入
  • SketchUp STL插件终极指南:3D打印爱好者的完美模型转换方案
  • Halcon HSmartWindow绘制ROI避坑指南:从参数名大小写到HObject转换,新手必看的3个细节
  • app充电电流查看器基本功能已经好了
  • 遗留系统改造:逐步重构与接口适配的策略
  • Windows环境下编译运行C语言程序的方法及工具选择
  • MiniCPM-o-4.5-nvidia-FlagOS模拟技术面试官:根据Java八股文题库进行自适应提问
  • 3步解锁多平台资源下载:res-downloader全平台资源捕获实战指南
  • AI Agent 跑完任务怎么通知你?我写了个微信推送服务址
  • CogVideoX-2b新手入门:从安装到生成第一个视频,全程图解
  • 别只盯着速度!STM32G474 CCM SRAM在电机控制FOC算法中的实战避坑指南