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

力扣3290.最高乘法得分

力扣3290.最高乘法得分

递归 + 记忆化搜索

  • 对于b数组,从右往左考虑取不取如果取则问题变成b[0] ~ b[i-1]间找j - 1个数

    • 如果不取,则问题变成b[0] ~ b[i]间找j个数
    • 即dfs(i,j) = max(dfs(i-1,j) , dfs(i-1,j-1) + a[j] * b[i])
  • 边界:dfs(i,-1) = 0,dfs(-1,j>=0) = -INF

  • 终点:dfs(n-1,3);

  • 同时引入记忆化搜索,因为只要参数一致,每次的结果都一样,所以遍历过的就不用再遍历

    • 初始化成INF即可
  •   class Solution {public:long long maxScore(vector<int>& a, vector<int>& b) {int n = b.size();//用vector<long long>也可以//需要一个一个填充vector<array<long long,4>> memo(n);for(auto &row : memo)ranges::fill(row,LLONG_MIN);auto dfs = [&](auto &&dfs,int i,int j) -> long long {//j == -1if(j < 0)return 0;if(i < 0)  //非法return LLONG_MIN / 2;//引用取出memo[i][j],如果没更新过,就求res的同时更新auto &res = memo[i][j];if(res == LLONG_MIN)res = max(dfs(dfs,i-1,j) , dfs(dfs,i-1,j-1) + (long long)a[j] * b[i]);return res;};return dfs(dfs,n-1,3);}};
    

1:1递推

  • f[i+1][j+1] 的定义和dfs(i,j)的定义一样

    • dfs(-1,j>=0) = -INF也翻译,为f[0][j] = -INF;
  •   class Solution {public:long long maxScore(vector<int>& a, vector<int>& b) {int n = b.size();vector<array<long long,5>> f(n+1);//初始化for(int j=1;j<5;j++)f[0][j] = LLONG_MIN / 2;for(int i = 0;i<n;i++)for(int j=0;j<4;j++)f[i+1][j+1] = max(f[i][j+1],f[i][j] + (long long)a[j] * b[i]);return f[n][4];}};
    
http://www.lryc.cn/news/444223.html

相关文章:

  • Python | Leetcode Python题解之第413题等差数列划分
  • 深入理解 ClickHouse 的性能调优与最佳实践
  • Elasticsearch——介绍、安装与初步使用
  • FreeRTOS保姆级教程(以STM32为例)—任务创建和任务控制API说明
  • Go语言现代web开发14 协程和管道
  • Llama3.1的部署与使用
  • Java/Spring项目的包开头为什么是com?
  • 深度学习自编码器 - 随机编码器和解码器篇
  • Spring IoC DI
  • [数据集][目标检测]无人机飞鸟检测数据集VOC+YOLO格式6647张2类别
  • Vue 中 watch 的使用方法及注意事项
  • 情指行一体化平台建设方案和必要性-———未来之窗行业应用跨平台架构
  • 窗口框架frame(HTML前端)
  • 51单片机——数码管
  • `re.compile(r“(<.*?>)“)` 如何有效地从给定字符串中提取出所有符合 `<...>` 格式的引用
  • 算法打卡:第十一章 图论part01
  • 为C#的PetaPoco组件增加一个批量更新功能(临时表模式)
  • Spring实战——入门讲解
  • MTK芯片机型的“工程固件” 红米note9 5G版资源预览 写入以及改写参数相关步骤解析
  • [Golang] Context
  • 【JAVA集合总结-壹】
  • Mysql梳理7——分页查询
  • 智能制造与工业互联网公益联播∣企企通副总经理杨华:AI的浪潮下,未来智慧供应链迭代方向
  • 《深度学习》—— 卷积神经网络(CNN)的简单介绍和工作原理
  • 数据结构:线性表
  • Ansible PlayBook实践案例
  • Tomcat后台弱口令部署war包
  • 胤娲科技:DeepMind的FermiNet——带你穿越“薛定谔的早餐桌”
  • 迅为iTOP-STM32MP157开发板板载4G接口(选配)_千兆以太网_WIFI蓝牙模块_HDMI_CAN_RS485_LVDS接口等
  • Android Choreographer 监控应用 FPS