左神算法基礎提升--4

文章目錄

  • 樹形dp問題
  • Morris遍歷


樹形dp問題

在這里插入圖片描述
求解這個問題需要用到我們在基礎班上學到的從節點的左子樹和右子樹上拿信息的方法。
求最大距離主要分為兩種情況:1.當前節點參與最大距離的求解;2.當前節點不參與最大距離的求解;
1.當前節點參與最大距離的求解的話,最大距離為左子樹的高度加上右子樹的高度加一;
2.當前節點不參與最大距離的求解的話,最大距離為左子樹的最大距離與右子樹的最大距離的最大值;
取這兩種情況的最大值即為以當前節點為根節點的樹的最大距離
在這里插入圖片描述
核心代碼
在這里插入圖片描述


在這里插入圖片描述
我們可以根據題意列出:
當某位員工參與時,派對的快樂值為其快樂值加上其直接下級員工不參與時的快樂值之和
當某位員工不參與時,派對的快樂值為其直接下級員工參與時的快樂值與其直接下級員工不參與時的快樂值的最大值之和。
在這里插入圖片描述
代碼:

在這里插入圖片描述

Morris遍歷

在這里插入圖片描述
在這里插入圖片描述
由上述規則可知:Morris遍歷一共會來到某個節點兩次,第一次到達某個節點時,其會找到其左子樹的最右節點,將該節點的右指針指向當前節點,當其第二次來到節點時,其會將其左子樹的最右節點指向空。由此我們便可以利用這一特點進行先序遍歷和中序遍歷。在這里插入圖片描述
在這里插入圖片描述
先序遍歷
在這里插入圖片描述
中序遍歷:
在這里插入圖片描述

由于Morris遍歷無法第三次回到某個節點,后序遍歷會比較復雜:當第二次來到自己的時候,逆序打印其左樹的右邊界。
在這里插入圖片描述
在這里插入圖片描述


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/66389.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/66389.shtml
英文地址,請注明出處:http://en.pswp.cn/web/66389.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

nuiapp在APP中的.nvue頁面中使用webview展示空白的問題

在打包的APP中發現webview打開顯示空白 最后發現是高度問題 最后給style設置動態高度&#xff1a; <web-view ref"webview" :style"viewStyle" allow :fullscreen"true" :webview-styles"webviewStyles" :src"UrlLink"…

[計算機網絡]一. 計算機網絡概論第一部分

作者申明&#xff1a;作者所有文章借助了各個渠道的圖片視頻以及資料&#xff0c;在此致謝。作者所有文章不用于盈利&#xff0c;只是用于個人學習。 1.0推薦動畫 【網絡】半小時看懂<計算機網絡>_嗶哩嗶哩_bilibili 1.1計算機網絡在信息時代的作用 在當今信息時代&…

神經網絡常見操作(卷積)輸入輸出

卷積 dimd的tensor可以進行torch.nn.Convnd(in_channels,out_channels),其中nd-1,d-2對于torch.nn.Convnd(in_channels,out_channels)&#xff0c;改變的是tensor的倒數n1維的大小 全連接 使用torch.nn.Linear(in_features,out_features,bias)實現YXWT b,其中X 的形狀為 (ba…

【C++】如何從源代碼編譯紅色警戒2地圖編輯器

【C】如何從源代碼編譯紅色警戒2地圖編輯器 操作視頻視頻中的代碼不需要下載三方庫&#xff0c;已經包含三方庫。 一、運行效果&#xff1a;二、源代碼來源及編程語言&#xff1a;三、環境搭建&#xff1a;安裝紅警2安裝VS2022下載代碼&#xff0c;源代碼其實不太多&#xff0c…

SSM課設-酒店管理系統功能設計

【課設者】SSM課設-酒店管理系統 分為用戶端管理員端 技術棧: 后端: Spring Spring MVC MyBatis Mysql JSP 前端: HtmlCssJavaScriptAjax 功能: 用戶端主要功能包括&#xff1a; 登錄注冊 客房預訂 客房評論 首頁 管理員端主要功能包括&#xff1a; 會員信息管理 客房信息…

Redis 數據存儲類型

Redis 支持多種類型的數據存儲&#xff0c;每種類型都可以用于不同的場景和需求。下面是 Redis 支持的主要數據存儲類型&#xff1a; 1. String&#xff08;字符串&#xff09; 類型簡介&#xff1a;字符串是 Redis 中最簡單的數據類型&#xff0c;可以包含任何數據&#xff…

游戲引擎學習第80天

Blackboard&#xff1a;增強碰撞循環&#xff0c;循環遍歷兩種類型的 t 值 計劃對現有的碰撞檢測循環進行修改&#xff0c;以便實現一些新的功能。具體來說&#xff0c;是希望處理在游戲中定義可行走區域和地面的一些實體。盡管這是一個2D游戲&#xff0c;目標是構建一些更豐富…

cuda從零開始手搓PB神經網絡

cuda實現PB神經網絡 基于上一篇的矩陣點乘&#xff0c;實現了矩陣的加減乘除、函數調用等。并且復用之前元編程里面寫的梯度下降、Adam、NAdam優化方法。實現PB神經網絡如下&#xff1a; #ifndef __BP_NETWORK_HPP__ #define __BP_NETWORK_HPP__ #include "matrix.hpp&quo…

Next.js 實戰 (八):使用 Lodash 打包構建產生的“坑”?

前言 最近一直在折騰 Nextjs15 &#xff0c;也在斷斷續續地寫《Next.js15 實戰系列》的文章&#xff0c;后來總感覺文章如果沒有線上效果預覽差點意思&#xff0c;所以就想著先把目前做的項目先部署上線&#xff0c;后續再慢慢添加新功能。 因為之前沒有部署過 Nextjs15 工程…

我的世界-與門、或門、非門等基本門電路實現

一、紅石比較器 (1) 紅石比較器結構 紅石比較器有前端單火把、后端雙火把以及兩個側端 其中后端和側端是輸入信號,前端是輸出信號 (2) 紅石比較器的兩種模式 比較模式 前端火把未點亮時處于比較模式 側端>后端 → 0 當任一側端強度大于后端強度時,輸出…

項目開發實踐——基于SpringBoot+Vue3實現的在線考試系統(七)

文章目錄 一、題庫管理模塊實現1、新增題目功能實現1.1 頁面設計1.2 前端功能實現1.3 后端功能實現1.4 效果展示2、題目列表功能實現2.1 頁面設計2.2 前端功能實現2.3 后端功能實現2.3.1 后端查詢題目列表接口實現2.3.2 后端編輯試題接口實現2.4 效果展示二、代碼下載一、題庫管…

打破編程“鄙視鏈”:探索行業發展新路徑

前言&#xff1a;哈嘍&#xff0c;大家好&#xff0c;今天給大家分享一篇文章&#xff01;并提供具體代碼幫助大家深入理解&#xff0c;徹底掌握&#xff01;創作不易&#xff0c;如果能幫助到大家或者給大家一些靈感和啟發&#xff0c;歡迎收藏關注哦 &#x1f495; 目錄 打破…

【統計的思想】假設檢驗(一)

假設檢驗是統計學里的重要方法&#xff0c;同時也是一種“在理想與現實之間觀察求索”的測試活動。假設檢驗從概率的角度去考察理想與現實之間的關系&#xff0c;籍此來緩解測試可信性問題。 我們先來看一個例子。民航旅客服務系統&#xff0c;簡稱PSS系統&#xff0c;有一種業…

SpringBoot2 + Flowable(UI)

文章目錄 引言I 技術棧軟件架構基于 Vue.js 和 Element UI 的后臺管理系統工程結構II 依賴rest,logic,conf 的依賴工作流flowable jar包flowable-ui所需jar包III 配置jdbc 配置 nullCatalogMeansCurrent = true引言 I 技術棧 軟件架構 前端基于vue 、element-ui框架分模塊設…

Linux探秘坊-------3.開發工具詳解(1)

1 初識vim編輯器 創建第一個vim編輯的代碼 1.新建文件 2.使用vim打開 3.打開默認是命令模式&#xff0c;寫代碼需要在屏幕上輸出“i”字符 1.寫完代碼后要按Esc鍵退出到指令模式2.再按shift:wq即可保存并退出vim &#xff08;因為不支持鼠標&#xff0c;通常 使用鍵盤上的箭…

基于海思soc的智能產品開發(高、中、低soc、以及和fpga的搭配)

【 聲明&#xff1a;版權所有&#xff0c;歡迎轉載&#xff0c;請勿用于商業用途。 聯系信箱&#xff1a;feixiaoxing 163.com】 市場上關于圖像、音頻的soc其實非常多&#xff0c;這里面有高、中、低檔&#xff0c;開發方式也不相同。之所以會這樣&#xff0c;有價格的因素&am…

51單片機——DS18B20溫度傳感器

由于DS18B20數字溫度傳感器是單總線接口&#xff0c;所以需要使用51單片機的一個IO口模擬單總線時序與DS18B20通信&#xff0c;將檢測的環境溫度讀取出來 1、DS18B20模塊電路 傳感器接口的單總線管腳接至單片機P3.7IO口上 2、DS18B20介紹 2.1 DS18B20外觀實物圖 管腳1為GN…

STL容器-- list的模擬實現(附源碼)

STL容器-- list的模擬實現&#xff08;附源碼&#xff09; List的實現主要時考察我們對list這一容器的理解&#xff0c;和代碼的編寫能力&#xff0c;通過上節對list容器的使用&#xff0c;我們對list容器已經有了一些基本的了解&#xff0c;接下來就讓我們來實現一些list容器常…

Redis 學習指南與資料分享

Redis學習資料 Redis學習資料 Redis學習資料 Redis 作為一款高性能內存數據庫&#xff0c;在當今軟件開發領域占據著重要地位。其豐富的數據類型、強大的功能特性以及廣泛的應用場景&#xff0c;吸引著眾多開發者深入學習。以下為你精心整理的 Redis 學習指南與實用資料分享&…

Lynx TiDB 慢日志收集工具

作者&#xff1a; 小龍蝦愛大龍蝦 原文來源&#xff1a; https://tidb.net/blog/7247e68f 簡介 lynx 工具可以定時將 TiDB 集群的慢查詢收集并持久化到后端數據庫中&#xff0c;然后通過 grafana 查詢展示出來&#xff0c;這可以幫助我們更好的分析慢查詢日志。 背景 盡管…