LeetCode 790 多米諾和托米諾平鋪 題解

對于本題不去看LeetCode的評論區和題解很難想到如何去dp,畢竟就算再怎么枚舉也很難找到適用于面向結果的規律。所以對于題解我建議大家還是去看一下靈神給的題解,以下是靈神匯總的圖,如果能看懂的話,對于解決題目有很大的幫助。

根據圖中所示我們便能找到規律了

n=0 1  
n=1 1
n為2 => 2 = 1* 2+0  
n為3 => 5 = 2* 2+1  
n為4 => 11 = 5* 2+1  
n為5 => 24 = 11* 2+2  
n為6 => 53 = 24* 2+5  
n為7 =>117 = 53* 2+11  
n為8 => 258 = 117* 2+24  
n為n =>??? = dp[n-1]* 2+dp[n-2-1]

然后根據題目要求,我們還需要mod,所以最后的解題步驟如下所示

class Solution {private static final int MOD = 1_000_000_007;public int numTilings(int n) {if (n == 1) {return 1;}long[] f = new long[n + 1];f[0] = f[1] = 1;f[2] = 2;for (int i = 3; i <= n; i++) {f[i] = (f[i - 1] * 2 + f[i - 3]) % MOD;}return (int) f[n];}}

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

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

相關文章

Day17 聚類算法(K-Means、DBSCAN、層次聚類)

一、聚類算法 1. K-Means 聚類 原理&#xff1a;K-Means 是一種基于劃分的聚類算法&#xff0c;目標是將 n n n 個樣本劃分到 k k k 個簇中&#xff0c;使得簇內樣本的相似度盡可能高&#xff0c;簇間樣本的相似度盡可能低。算法通過迭代的方式&#xff0c;不斷更新簇的質心…

【編程干貨】本地用 Ollama + LLaMA 3 實現 Model Context Protocol(MCP)對話服務

模型上下文協議&#xff08;MCP&#xff09;本身提供的是一套標準化的通信規則和接口&#xff0c;簡化了客戶端應用的開發。 MCP 實際上是一套規范&#xff0c;官方把整套協議分成「傳輸層 協議層 功能層」三大塊&#xff0c;并對初始化握手、能力協商、數據/工具暴露、安全…

永磁同步電機控制算法-基于新型趨近律的反饋線性化滑模控制

一、原理介紹 針對永磁同步電機傳統PID矢量控制方式無法實現d、q軸電流完全解耦控制的問題&#xff0c;運用反饋線性化理論實現永磁同步電機轉速和d軸電流解耦。針對反饋線性化導致的魯棒性下降問題&#xff0c;利用滑模控制方式提高系統魯棒性&#xff0c;引入新型雙冪次趨近…

德爾菲法和層次分析法是什么

德爾菲法和層次分析法是什么 德爾菲法和層次分析法是兩種常用的決策分析方法 德爾菲法 定義:德爾菲法是一種采用背對背的通信方式征詢專家小組成員的預測意見,經過幾輪征詢,使專家小組的預測意見趨于集中,最后做出符合市場未來發展趨勢的預測結論。實施步驟 組成專家小組…

【windows】win10部分版本的sxs文件下載

Win10部分版本的sxs文件下載 win10 1703 鏈接: https://pan.baidu.com/s/13O5djVSWIhIjBP1ZVtORAA?pwdsdpp 提取碼: sdpp win10 1809 鏈接: https://pan.baidu.com/s/1vUEMQWqWcyTicHLJNox99w?pwddfx4 提取碼: dfx4 win10 1903,1909 鏈接: https://pan.baidu.com/s/1MoKcm3N…

Java項目部署-Springboot+Vue網頁部署上線全教程

SpringbootVue網頁部署上線全教程 文章目錄 SpringbootVue網頁部署上線全教程1.環境說明2.Mysql安裝部署2.1 安裝并修改密碼2.2 防火墻開放 3.Spring Boot項目打包3.1 配置公網ip3.2 安裝 Maven3.3 使用 Maven 打包 Spring Boot 項目3.4 Centos運行Jar包3.4.1 安裝 Java 1.8 環…

FISCO BCOS【初體驗筆記】

飛梭區塊鏈搭建初體驗筆記 環境部署創建四個節點的飛梭區塊鏈用的VMware17 centos 7.9 區塊鏈是飛梭2.0用的webase-frontJava環境的正確安裝Webase-front搭建 智能合約設計一點合約調試筆記 智能合約abi文件轉為go文件后端項目配置相關工具linux常用命令&#xff08;防忘記&…

內容社區系統開發文檔

1 系統分析 1.1 項目背景 1.2 需求分析 2 系統設計 2.1 系統功能設計 2.2 數據庫設計 2.2.1 數據庫需求分析 2.2.2 數據庫概念結構設計 2.2.3 數據庫邏輯結構設計 2.2.4 數據庫物理結構設計 2.2.5 數據庫視圖設計 2.2.6 函數設計 2.2.7 存儲過程設計 2.2.8 觸發器…

BigemapPro小技巧:調整線方向及延長線

今天為大家分享兩個 BigemapPro 處理矢量數據的小技巧&#xff0c;分別是調整線方向和延長線要素&#xff0c;掌握這些技巧能夠大幅提升數據處理的效率和準確性。 01 調整線方向 在BigemapPro中&#xff0c;線要素其實是帶有方向屬性的&#xff0c;正常情況下看不出來 但是如果…

nt!MiSessionAddProcess函數分析和nt!MmSessionSpace全局變量的關系

第一部分&#xff1a; 1: kd> g Breakpoint 42 hit nt!MiSessionAddProcess: 80ab2fbe 55 push ebp 1: kd> kc # 00 nt!MiSessionAddProcess 01 nt!MmCreateProcessAddressSpace 02 nt!PspCreateProcess 03 nt!NtCreateProcessEx 04 nt!_KiSystemServic…

2025年消防設施操作員考試題庫及答案

一、判斷題 31.消防用水不作他用的技術措施應每季度進行檢查&#xff0c;若發現故障應及時進行處理。&#xff08;&#xff09; 答案&#xff1a;錯誤 解析&#xff1a;本題考查的是消防水池、高位消防水箱的保養方法。每月檢查消防用水不作他用的技術措施&#xff0c;發現故…

Ray開源程序 是用于擴展 AI 和 Python 應用程序的統一框架。Ray 由一個核心分布式運行時和一組用于簡化 ML 計算的 AI 庫組成

?一、軟件介紹 文末提供程序和源碼下載 Ray開源程序 是用于擴展 AI 和 Python 應用程序的統一框架。Ray 由一個核心分布式運行時和一組用于簡化 ML 計算的 AI 庫組成 二、Ray AI 庫的更多信息 數據&#xff1a;適用于 ML 的可擴展數據集訓練&#xff1a;分布式訓練Tune&…

軟件設計師-軟考知識復習(3)

在磁盤上存儲數據的排列方式會影響I/O服務的總時間。假設每個磁道被劃分成10個物理塊&#xff0c;每個物理塊存放1個邏輯記錄。邏輯記錄R1,R2…R10存放在同一個磁道上&#xff0c;記錄的排列從1到10。 假定磁盤的旋轉速度為10ms/周&#xff0c;磁頭當前處在R1的開始處。若系統…

Unity Editor 擴展:查找缺失的 Image Sprite

在 Unity 開發過程中&#xff0c;缺失的 Sprite 引用&#xff08;特別是在 UI 元素上&#xff09;可能導致程序運行時出現問題&#xff0c;尤其是在使用 Image 組件時。當你擁有多個 Prefab 和大量的 UI 資源時&#xff0c;手動檢查每個 Prefab 是否缺失了 Source Image 變得十…

在VTK中使用VTKCamera

文章目錄 概要Cpp代碼概要 在VTK(Visualization Toolkit)中,vtkCamera 類用于控制三維場景中相機的視角。相機決定了你從哪個角度和位置觀察三維場景。使用 vtkCamera 的一般步驟包括創建相機對象、配置相機參數、將相機設置為渲染器的活動相機,以及更新相機視圖。 Cpp代…

【Docker系列】使用格式化輸出與排序技巧

&#x1f49d;&#x1f49d;&#x1f49d;歡迎來到我的博客&#xff0c;很高興能夠在這里和您見面&#xff01;希望您在這里可以感受到一份輕松愉快的氛圍&#xff0c;不僅可以獲得有趣的內容和知識&#xff0c;也可以暢所欲言、分享您的想法和見解。 推薦:kwan 的首頁,持續學…

臨床智能體AI與環境感知AI的融合:基于python的醫療自然語言處理深度分析

引言 醫療領域的數智化進程正以前所未有的速度推進,人工智能技術的應用尤為顯著。隨著大型語言模型(LLMs)的迅猛發展,醫療AI已從簡單的輔助工具升級為復雜的智能體系統。臨床智能體AI與環境感知AI的融合代表了醫療AI的最新發展方向,為重塑醫療運營自然語言處理提供了全新…

JAVA SE(9)——多態

1.多態的概念&作用 多態(Polymorphism)是面向對象編程的三大基本特性之一&#xff08;封裝和繼承已經講過了&#xff09;&#xff0c;它允許不同類的對象對同一消息做出不同的響應。具體來說&#xff0c;多態允許基類/父類的引用指向派生類/子類的對象&#xff08;向上轉型…

GPS定位方案

目錄 一、常用的GPS定位方案包括&#xff1a; 二、主流品牌及熱銷型號 三、常用GPS算法及核心邏輯&#xff1a; 一、基礎定位算法 二、高精度算法 三、輔助優化算法 四、信號處理底層算法 四、基本原理&#xff08;想自己寫算法的琢磨一下原理&#xff09; 一、常用的GP…

PCIe - ZCU106(RC) + KU5P(EP) + 固化

目錄 1. 簡介 1.1 Data Mover 1.2 描述符 2. ZCU102 2.1 Ubuntu OS 2.2 USB Host 2.2.1 連接拓撲 2.2.2 設備類型 2.2.3 USB 跳帽設置 2.3 無線網卡 2.4 PCIe Info 2.4.1 Diagram 2.4.2 lspci -tv 2.4.3 lspci -v 2.4.2.1 設備基本信息 2.4.2.2 控制與狀態寄存…