筆試專題(十二)

文章目錄

  • 主持人調度
    • 題解
    • 代碼
  • 小紅的ABC
    • 題解
    • 代碼
  • 不相鄰取數
    • 題解
    • 代碼
  • 空調遙控
    • 題解
    • 代碼

主持人調度

題目鏈接
在這里插入圖片描述

題解

1. 排序
2. 先按左端點的大小進行排序,保證時間是連續的,如果后一個點的左端點大于等于前一個點的右端點就是和法的,否則就不合法

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

代碼

class Solution 
{
public:bool hostschedule(vector<vector<int>>& s) {// 按照左端點排序// 這個二維的數組是按左端點排序的sort(s.begin(),s.end());// 排序為了保證時間段時連續的// 二維的vector是先按第一個元素排序,再按第二個元素排序的int k = s[0][1];int p = 0,q = 0;int n = s.size(),m = 2;for(int i = 1;i < n;i++){for(int j = 0;j < m;j++){if(j == 0) p = s[i][j];// 左端點if(j == 1) q = s[i][j];// 右端點}if(p >= k){k = q;}else {return false;}}return true;}
};

小紅的ABC

題目鏈接
在這里插入圖片描述

題解

1. 找規律
2. 最短就是2或者3的情況,其他情況的子集也是2或者3

在這里插入圖片描述

代碼

#include<iostream>
#include<string>
using namespace std;int main()
{string s;cin >> s;int n = s.size();int ans = -1;// 沒有回文子串for(int i = 0;i < n;i++){if(i + 1 < n && s[i] == s[i+1]){ans = 2;break;}if(i + 2 < n && s[i] == s[i+2]){ans = 3;}}cout << ans << '\n';return 0;
}

不相鄰取數

題目鏈接
在這里插入圖片描述

題解

1. 動態規劃,線性dp
2. 類似于打家劫舍問題,簡單多狀態,一個位置選或者不選
在這里插入圖片描述

代碼

#include <iostream>
#include<algorithm>
using namespace std;const int N = 2e5 + 10;
int a[N];
int f[N];
int g[N];int main()
{int n;cin >> n;for(int i = 0;i < n;i++) cin >> a[i];f[0] = a[0];for(int i = 1;i < n;i++){f[i] = a[i] + g[i-1];g[i] = max(g[i-1],f[i-1]);}cout << max(f[n-1],g[n-1]) << '\n';return 0;
}

空調遙控

題目鏈接

在這里插入圖片描述

題解

1. 排序 + 二分
2. 先枚舉溫度,最小的溫度到最大的溫度,再寫出該溫度的范圍是k+p和k-p是符合要求的區間,再用二分查找找到左端點的下標和右端點的下標+1即是此次溫度的最多人數,最后求最多的人數
3. 滑動窗口 + 排序
溫度的范圍是[t - p,t + p],那么一定存在一個區間內的最大數 - 最小數 <= 2 * p,求區間的最長的長度

在這里插入圖片描述

代碼

// 排序 + 二分 O(n*logn + n*logn)
#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e6 + 10;
int a[N];
int p,n;int main()
{cin >> n >> p;for(int i = 0;i < n;i++) cin >> a[i];// 排序 + 二分sort(a,a + n);int b = a[0],c = a[n-1];int ans = 0;// 枚舉溫度for(int i = b;i <= c;i++){int left = 0,right = n-1;int t1 = i + p;int t2 = i - p;int p1 = 0,p2 = 0;while(left < right){int mid = left + (right - left) / 2;if(a[mid] >= t2) right = mid;else{left = mid + 1;    }}p1 = left;left = 0,right = n - 1;while(left < right){int mid = (left + right + 1) / 2;if(a[mid] <= t1) left = mid;else right = mid - 1;}p2 = left;ans = max(ans,p2-p1 + 1);}cout << ans << '\n';return 0;
}// 滑動窗口 + 排序 O(n*logn + n)
#include<iostream>
#include<algorithm>
using namespace std;const int N = 1e6 + 10;
int a[N];int main()
{int n,p;cin >> n >> p;for(int i = 0;i < n;i++) cin >> a[i];sort(a,a+n);// 區間小于等于2pint k = 2 * p;int left = 0,right = 0;int ans = 0;while(right < n){while(a[right] - a[left] > k){left++;}if(a[right] - a[left] <= k) ans = max(ans,right - left + 1);right++;}cout << ans << '\n';return 0;
} 

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

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

相關文章

Ansible 守護 Windows 安全(Ansible Safeguards Windows Security)

Ansible 守護 Windows 安全&#xff1a;自動化基線檢查與加固 在當今網絡威脅日益嚴峻的形勢下&#xff0c;保障 Windows 系統安全至關重要。Ansible 作為一款強大的自動化運維工具&#xff0c;可通過自動化腳本實現 Windows 安全基線檢查和加固&#xff0c;大幅提升運維效率并…

深度解析 MyBatis`@TableField(typeHandler = JacksonTypeHandler.class)`:優雅處理復雜數據存儲

一、引言&#xff1a;當Java對象遇見數據庫 在現代應用開發中&#xff0c;我們經常面臨一個關鍵問題&#xff1a;如何將復雜的Java對象&#xff08;如Map、List或自定義POJO&#xff09;優雅地存儲到關系型數據庫中&#xff1f;傳統解決方案需要開發者手動進行序列化和反序列化…

【無標題】四色定理研究團隊的構建與實施路徑——跨學科建模、編程與理論拓展的全流程方案

### **四色定理研究團隊的構建與實施路徑** **——跨學科建模、編程與理論拓展的全流程方案** --- #### **一、團隊構建與核心分工** ##### **1.1 核心角色與技能需求** | **角色** | **職責** | **技能要求** …

SQLMesh增量模型實戰指南:時間范圍分區

引言 在數據工程領域&#xff0c;處理大規模數據集和高頻率數據更新是一項挑戰。SQLMesh作為一款強大的數據編排工具&#xff0c;提供了增量模型功能&#xff0c;幫助數據工程師高效地管理和更新數據。本文將詳細介紹如何使用SQLMesh創建和管理基于時間范圍的增量模型&#xf…

TCP vs UDP:核心區別、握手過程與應用場景(附對比圖)

&#x1f310; 引言 在網絡通信中&#xff0c;TCP&#xff08;傳輸控制協議&#xff09;和UDP&#xff08;用戶數據報協議&#xff09;是兩大核心傳輸層協議。它們各有優劣&#xff0c;適用于不同場景。本文將用圖文對比實戰示例&#xff0c;幫你徹底理解兩者的區別&#xff0…

STM32F103C8T6信息

STM32F103C8T6 完整參數列表 一、核心參數 內核架構? ARM Cortex-M3 32位RISC處理器 最大主頻&#xff1a;72 MHz&#xff08;基于APB總線時鐘&#xff09; 運算性能&#xff1a;1.25 DMIPS/MHz&#xff08;Dhrystone 2.1基準&#xff09; 總線與存儲? 總線寬度&#xff…

WPF-遵循MVVM框架創建圖表的顯示【保姆級】

文章速覽 1、技術棧實現步驟1、創建WPF工程項目2、引入框架 Caliburn.Micro、數據可視化庫ScottPlot.WPF3、創建文件夾&#xff0c;并創建相應的View & ViewModel4、創建啟動類5、將啟動類設置為啟動項6、編寫View7、編寫VM8、將VM和View中的圖表進行綁定9、備注 示例效果 …

kafka理論學習匯總

基礎知識 基本簡介 Kafka 是一個分布式流式處理平臺&#xff0c;是一種分布式的&#xff0c;基于發布/訂閱的消息系統。 Kafka特點&#xff1a; 1. 同時為發布和訂閱提供高吞吐量 Kafka 的設計目標是以時間復雜度為 O(1) 的方式提供消息持久化能力&#xff0c;即使對 TB 級以…

【亞馬遜云】AWS Wavelength 從理論講解到實驗演練

&#x1faaa; 本文作者&#xff1a;許業寶 ?? 作者信息&#xff1a; &#x1f31e; VSTECS 云解決方案架構師 &#xff5c; AWS Ambassador &#xff5c; &#x1faaa; AWS Community Builder | 亞馬遜云科技技能云博主 ? 已獲六項 AWS 認證 | CKA、CKS認證 &#xff5c; …

ORACLE DATAGUARD遇到GAP增量恢復方式修復RAC環境備機的實踐

ORACLE DATAGUARD技術是一個常用的數據保護機制&#xff0c;在DATAGUARD運行過程中&#xff0c;遇到異常導致備機不同步&#xff0c;而主庫的歸檔日志也被清理&#xff0c;此時出現GAP&#xff0c;無法同步&#xff1b;就需要人工處理&#xff1b;對于小型數據庫重新全量同步數…

Java24 抗量子加密:后量子時代的安全基石

一、量子計算威脅與 Java 的應對 隨著量子計算機的快速發展&#xff0c;傳統加密算法面臨前所未有的挑戰。Shor 算法可在多項式時間內破解 RSA、ECC 等公鑰加密體系&#xff0c;而 Grover 算法能將對稱加密的暴力破解效率提升至平方根級別。據 NIST 預測&#xff0c;具備實用價…

day005

文章目錄 1. Linux系統核心文件1.1 查看系統版本信息1.1.1 /etc/os-release1.1.2 hostnamectl 1.2 查看主機名并修改1.2.1 hostname1.2.2 cat /etc/hostname1.2.3 hostnamectl 1.3 查看Linux內核版本1.3.1 uname -r1.3.2 hostnamectl 1.4 查看網卡信息并修改1.4.1 nmtui 網絡管…

常用財務分析指標列表

財務分析指標是企業財務管理和決策的重要工具&#xff0c;不同需求人群在各自的場景中運用這些指標來做出決策。企業管理者需要通過財務分析指標來評估企業經營狀況、制定戰略和決策&#xff1b;投資者利用這些指標來評估投資價值和風險&#xff1b;債權人通過財務分析指標來評…

刪除非今天日期文件夾--批處理腳本

echo off setlocal enabledelayedexpansion REM ----- 配置部分 ----- set “target_dirK:\360downloads\Software” set “log_file%temp%\delete_folders.log” REM ----- 管理員權限檢查 ----- NET FILE >NUL 2>&1 || ( echo 需要以管理員權限運行&#xff01; …

QT創建軟件登錄界面(14)

文章目錄 一、本章說明二、登錄界面設計2.1 添加登錄窗口2.2 設置登錄窗口布局2.3 主函數中創建登錄窗口對象2.4 登錄窗口頭文件與c文件2.5 源文件添加三、注意四、源碼項目文件一、本章說明 注:本節為【基于STM的環境監測系統(節點+云服務器存儲+QT界面設計)】項目第14篇文…

小天互連即時通訊音視頻功能

小天互連即時通訊的音視頻功能是核心功能及優勢之一&#xff0c;小天互連即時通訊采用先進的音視頻編解碼技術&#xff0c;即使在網絡環境不好的情況下&#xff0c;也能智能優化保證會議穩定進行。因此可以讓遠程開會也變得和面對面交流一樣的便捷&#xff0c;極大地提升了溝通…

【LInux網絡】數據鏈路層 - 深度理解以太網和APR協議

&#x1f4e2;博客主頁&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客倉庫&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;歡迎點贊 &#x1f44d; 收藏 ?留言 &#x1f4dd; 如有錯誤敬請指正&#xff01; &…

【零基礎入門】ASP.NET Core快速搭建第一個Web應用

一、為什么選擇ASP.NET Core&#xff1f; 跨平臺支持&#xff1a;可在Windows/macOS/Linux系統運行 高性能&#xff1a;比傳統ASP.NET框架快10倍以上 開源生態&#xff1a;活躍的開發者社區和豐富的NuGet包 云原生支持&#xff1a;完美適配Docker和Kubernetes部署 二、開發…

AT2401C與RFX2401C問題處理資料

1、AT2401C 可以 PIN 對 PIN 替代 RFX2401C 嗎&#xff1f; 答&#xff1a;AT2401C 可以 PIN 對 PIN 替換 RFX2401C&#xff1b;同時 CB2401 也可以 PIN 對 PIN 替換 RFX2401C&#xff1b;我們主要推 AT2401C 這款芯片&#xff0c;如果客戶產 品需要過認證或者應用于音頻產品建…

Redis-緩存應用 本地緩存與分布式緩存的深度解析

Redis緩存場景與策略&#xff1a;本地緩存與分布式緩存的深度解析 在當今高并發、低延遲的互聯網架構中&#xff0c;緩存技術是優化系統性能的核心手段之一。Redis作為分布式緩存的標桿&#xff0c;與本地緩存共同構成了緩存體系的兩大支柱。然而&#xff0c;兩者的適用場景與…