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

蓝桥杯 第五天 2021 国赛 第 5 题 最小权值

 public static void main(String[] args) {
	        long[] dp=new long[2022];
	        Arrays.fill(dp,Long.MAX_VALUE);
	        dp[0]=0;
	        for (int i = 1; i <2022 ; i++) {//模拟所有节点
	            for (int j = 0; j <i ; j++) {//模拟左子树节点
	                int l=j,r=i-1-j;//左节点+右节点+第一个节点=所有节点,所以r=i-j-1
	                dp[i]=Math.min(dp[i],1+2*dp[l]+3*dp[r]+l*l*r);
	            }
	        }
	        System.out.println(dp[2021]);
	    }

一开始除了第一项要每项的默认值为最大值,也就是这段代码

  Arrays.fill(dp,Long.MAX_VALUE);
          dp[0] = 0;然后默认空子树权值是0 ,也就是dp[0] = 0,然后再按照公式来进行递归,最后得到dp[i]的值

 


http://www.kler.cn/a/589538.html

相关文章:

  • 使用BLSTM自动评估句子级构音障碍的可理解性
  • ssh命令
  • QVariant:Qt中万能类型的使用与理解
  • python中多重继承和泛型 作为模板让子类实现具体业务逻辑
  • Linux错误(2)程序触发SIGBUS信号分析
  • 基于Springboot+Typst的PDF生成方案,适用于报告打印/标签打印/二维码打印等
  • 开源文档管理系统 Paperless-ngx
  • 【后端开发面试题】每日 3 题(十三)
  • 利用golang embed特性嵌入前端资源问题解决
  • 【经验分享】SpringBoot集成WebSocket开发-03 使用WebSocketSession为每个对话存储独立信息
  • Vue3中正确解析RefImpl对象
  • Hyperlane:轻量、高效、安全的 Rust Web 框架新选择
  • Java 大视界 -- Java 大数据机器学习模型的对抗攻击与防御技术研究(137)
  • 为什么手机上用 mA 和 mAh 来表示功耗和能耗?
  • java学习总结:JSP、Servlet
  • vue3项目如何使用keepAlive?如何实现回退到这个页面时不刷新,跳转至这个页面时会刷新?
  • Redis主从集群和哨兵集群
  • CML(Current Mode Logic)电平详解
  • MyBatis XMLMapperBuilder 是如何解析 SQL 映射文件的? 它读取了哪些信息?
  • docker安装rabbitmq