洛谷 P1439 最長公共子序列

題目描述

給出 1,2,…,n?的兩個排列?P1??和?P2??,求它們的最長公共子序列。

輸入格式

第一行是一個數?n。

接下來兩行,每行為?n?個數,為自然數 1,2,…,n?的一個排列。

輸出格式

一個數,即最長公共子序列的長度。

輸入輸出樣例

輸入 #1

5 
3 2 1 4 5
1 2 3 4 5

輸出 #1

3

說明/提示

  • 對于 50%?的數據, n≤10^3;
  • 對于?100%?的數據,n≤10^5;

解題思路

最開始基本解法是二維數組O(n^2)解法顯然過不了,這里需要把題目轉換成求遞增子序列,遞增子序列需要一個貪心的優化

#include<stdio.h>
int n, a[100001], b[100001], c[100001], t, f[100001];
int main()
{int i;scanf("%d", &n);for (i = 1; i <= n; i++){scanf("%d", &a[i]);c[a[i]] = i;f[i] = 1e9;}for (i = 1; i <= n; i++){scanf("%d", &t);b[i] = c[t];}int len = 1; f[1] = b[1];for (i = 2; i <= n; i++){if (b[i] > f[len])f[++len] = b[i];else{int l = 0, mid, r = len, g;while (l <= r){mid = (l + r) / 2;if (f[mid] >= b[i]){g = i;r = mid - 1;}elsel = mid + 1;}if (f[g] > b[i])f[g] = b[i];}}printf("%d", len);return 0;
}

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

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

相關文章

詳解算法的時間復雜度和空間復雜度!

目錄 ?編輯 1. 算法效率 2. 時間復雜度 2.1 時間復雜度的概念 2.2 大O的表示漸進法 2.3 一個栗子 3. 空間復雜度 4. 常見復雜度對比 5. 完結散花 ??????? 悟已往之不諫&#xff0c;知來者猶可追 創作不易&#xff0c;寶子們&#xff01;如果這篇文章對你們有…

Flex布局

Flex布局是一種用于創建靈活且自適應的布局模型&#xff0c;它使得元素能夠更好地響應不同的屏幕尺寸和設備。Flex布局基于容器和項目的概念&#xff0c;通過設置容器的屬性來控制項目的布局和對齊方式。 Flex布局的關鍵概念包括&#xff1a; 父容器&#xff08;Flex容器&…

Git實戰(3)之merge與rebase區別

1,采用merge和rebase后,git log的區別,merge命令不會保留merge的分支的commit 2,處理沖突的方式: (一股腦)使用merge命令合并分支,解決完沖突,執行git add .和 git commit -mfix conflict。這個時候會產生一個commit。(交互式)使用rebase命令合并分支,解決完沖突,…

一種求最大最小值的方法(C語言)

作者在做項目時需要分析大量數據&#xff0c;其中需要用到最大值最小值的求解。這里分享一種簡單好用的方法&#xff0c;并避免在代碼中出現過多的for循環。 這個方法用到了qsort函數。 首先我們需要定義一個比較函數用來比較2個值的大小并通過返回值來表示比較的結果。 int…

STM32標準庫開發——FLASH閃存

FLASH介紹 一般來說&#xff0c;宣傳的FLASH的大小只是說程序存儲器的大小&#xff0c;不包括系統存儲器以及選項字節這倆個部分 IAP是內置在boot loader中的一道程序&#xff0c;可以用于輔助下載&#xff0c;用戶可以通過有線通信協議或者無線協議實現對程序的更新升級。 FLA…

如何使用grafana 下JSON API訪問展示接口數據

一.新增connection 點擊左側菜單欄&#xff0c;選擇Add new connection 下載安裝即可。 二. 增加對應url和參數 1. 添加新的數據源 2. 配置對應url 3.新建儀表盤和添加接口url和參數等

LeetCode每日一題之 移動0

前言&#xff1a; 我的每日一題專欄正式開始更新&#xff0c;我會分享關于我在LeetCode上刷題時的經驗&#xff0c;將經典題型拿出來詳細講解&#xff0c;來提升自己及大家的算法能力&#xff0c;希望這篇博客對大家有幫助。 題目介紹&#xff1a; 題目鏈接&#xff1a;. - …

SpringBoot+aop實現主從數據庫的讀寫分離

讀寫分離的作用是為了緩解寫庫&#xff0c;也就是主庫的壓力&#xff0c;但一定要基于數據一致性的原則&#xff0c;就是保證主從庫之間的數據一定要一致。如果一個方法涉及到寫的邏輯&#xff0c;那么該方法里所有的數據庫操作都要走主庫。 一、環境部署 數據庫&#xff1a;…

深入了解Java虛擬機(JVM)

Java虛擬機&#xff08;JVM&#xff09;是Java程序運行的核心組件&#xff0c;它負責解釋執行Java字節碼&#xff0c;并在各種平臺上執行。JVM的設計使得Java具有跨平臺性&#xff0c;開發人員只需編寫一次代碼&#xff0c;就可以在任何支持Java的系統上運行。我們剛開始學習Ja…

【leetcode】用隊列實現棧

大家好&#xff0c;我是蘇貝&#xff0c;本篇博客帶大家刷題&#xff0c;如果你覺得我寫的還不錯的話&#xff0c;可以給我一個贊&#x1f44d;嗎&#xff0c;感謝?? 點擊查看題目 思路: 在做此題之前&#xff0c;我們先要實現隊列&#xff0c;這在上個博客中已經寫過&#…

學習人工智能的方法及方向!

目錄 一、第一部分&#xff1a;了解人工智能 二、人工智能學習路線圖 三、職業規劃 四、未來展望 五、總結 在這個信息爆炸的時代&#xff0c;想要系統性地學習人工智能&#xff08;AI&#xff09;并找到對應方向的工作&#xff0c;你需要一個明確的學習路徑和職業規劃。本…

復合機器人是一種集成了移動機器人

復合機器人是一種集成了移動機器人、協作機器人和機器視覺等多項功能的新型機器人。它的開發目的是為了解決工廠物流中最后一米的問題&#xff0c;提供智能搬運解決方案。復合機器人不僅集成了自主移動機器人&#xff08;AMR&#xff09;、機械臂等工作單元&#xff0c;還使用了…

Java電梯模擬

Java電梯模擬 文章目錄 Java電梯模擬前言一、UML類圖二、代碼三、測試 前言 此程序為單線程簡單模擬電梯(初版)&#xff0c;如果存在問題或者設計不合理的地方&#xff0c;請大家幫忙指出。 一、UML類圖 二、代碼 電梯調度器 package cn.xx.evevator;import java.util.*;pub…

#LLM入門|Prompt#2.1_第二部分:搭建基于 ChatGPT 的問答系統_簡介_Introduction

《第二部分&#xff1a;搭建基于 ChatGPT 的問答系統》&#xff01; 本部分基于吳恩達老師與OpenAI合作開發的課程《Building Systems with the ChatGPT API》創作&#xff0c;旨在指導開發者基于ChatGPT的API進行智能問答系統的構建。 課程內容 課程背景&#xff1a; 使用C…

Web3游戲基礎設施提供商Stardust為Sui上的游戲開發者提供支持

Stardust將其在錢包服務&#xff08;wallets-as-a-service&#xff09;基礎設施和用戶獲取平臺方面的專業知識帶到了Sui&#xff0c;為游戲開發者提供了關鍵的幫助&#xff0c;以吸引玩家。近日&#xff0c;Stardust公司宣布將為Sui游戲開發者調整其成熟的錢包服務&#xff08;…

MySQL:開始深入其數據(四)select子查詢

select眼熟吧?(都三節了) 又開始學習了 在 MySQL 中&#xff0c;子查詢&#xff08;subquery&#xff09;是指在一個查詢內嵌套另一個完整的 SELECT 語句。子查詢可以嵌套在 SELECT、INSERT、UPDATE、DELETE 語句中&#xff0c;用于從內部查詢結果中獲取數據&#xff0c;進而完…

vue3 的await async

在 Vue 3&#xff08;以及大多數現代的 JavaScript 環境中&#xff09;中&#xff0c;async 和 await 是用來處理異步操作的關鍵字。這些關鍵字使你能夠以同步的方式編寫異步代碼&#xff0c;使代碼更加易讀、易寫&#xff0c;并且有助于管理異步流程。 async async 關鍵字用…

基于springboot的寵物咖啡館平臺的設計與實現論文

基于Spring Boot的寵物咖啡館平臺的設計與實現 摘要 隨著信息技術在管理上越來越深入而廣泛的應用&#xff0c;管理信息系統的實施在技術上已逐步成熟。本文介紹了基于Spring Boot的寵物咖啡館平臺的設計與實現的開發全過程。通過分析基于Spring Boot的寵物咖啡館平臺的設計與…

每日一題——LeetCode1566.重復至少K次且長度為M的模式

方法一 暴力枚舉 var containsPattern function(arr, m, k) {const n arr.length;for (let l 0; l < n - m * k; l) {let offset;for (offset 0; offset < m * k; offset) {if (arr[l offset] ! arr[l offset % m]) {break;}}if (offset m * k) {return true;}}r…

k8s 網絡概念與策略控制

一、Kubernetes 基本網絡模型 Kubernetes 的容器網絡模型可以把它歸結為約法三章和四大目標。 1、約法三章 約法三章確保了Kubernetes容器網絡模型的基本特性&#xff1a; ① 任意兩個 pod 之間可以直接通信&#xff1a;在Kubernetes中&#xff0c;每個 Pod 都被分配了一個…