【藍橋杯】每日練習 Day13

前言

今天做了不少題,但是感覺都太水了,深思熟慮之下主播決定拿出兩道相對不那么水的題來說一下(其實還是很水)。

兩道問題,一道是日期問題(模擬),一道是區間合并問題。


日期差值


分析

這樣的問題其實就是模擬,但是我們可以發現在模擬的過程中需要處理年份,月份,天數,進位等情況,如果都去用if - else嵌套去寫的話那未免太不優雅了。

所以主播帶了一種可以優雅的處理這種問題的方法。

這種方法是開始先將日期轉化成從0001-01-01到此日期經過了多少天,隨后兩個數字相減就可以了,怎么樣,是不是很簡單。

那么我們如何來計算有多少天呢,先來試著按照每一天來枚舉,可以發現總共枚舉的話需要枚舉10000 * 355 * 100次,算下來是三點五億,常數小的話是有可能過的,但是顯然我們不能去賭能不能過,我們來換一種方式枚舉。

怎樣枚舉呢?我們先計算出這一年的前面所有年有多少天(這個好算,枚舉每一年,平年就+355, 閏年+356),隨后我們再枚舉這個月前面所有的月份有多少天,用一個數組來存儲每個月有多少天,如果是2月的話需要判斷一下年份是否是閏年。

超級簡單,沒錯,主包就是這么水……


代碼

#include<iostream>
using namespace std;
int mouths[] ={0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //每月的天數
int y1, y2, m1, m2, d1, d2;bool is_leap(int year)
{return year % 4 == 0 && year % 100 || year % 400 == 0;
}int mouthDay(int year, int mouth)
{if(mouth == 2) return mouths[2] + is_leap(year);return mouths[mouth];
}int yearDay(int year)
{return 365 + is_leap(year);
} int dayNums(int year, int mouth, int day)
{int l = 0;for(int i = 1; i < year; i++)l += yearDay(i);for(int i = 1; i < mouth; i++)l += mouthDay(year, i);l += day;return l;
}int main()
{while(~scanf("%04d%02d%02d\n%04d%02d%02d", &y1, &m1, &d1, &y2, &m2, &d2))printf("%d\n", abs(dayNums(y2, m2, d2) - dayNums(y1, m1, d1)) + 1);return 0;
}

擠牛奶


分析

這個就更不用多說了,區間合并,主包記得自己最開始學算法的時候第一個真正理解的就是區間合并

具體過程就是先排序,隨后每次都用區間去和前一個區間比較能否合并,區間能合并的條件一般是

a[i].r >= a[i].l

特殊情況可能需要左端加一再去比較(就比如我們之前的拿到水管的題目)。

順便提一嘴這道題用差分前綴和也是可以寫的。


代碼

// 區間合并
#include<iostream>
#include<vector>
#include<algorithm>
#define s second
#define f first
using namespace std;
typedef pair<int, int> PII;
const int N = 5010;
int n;
PII nums[N];
int onTime, unTime;int main()
{scanf("%d", &n);for(int i = 0; i < n; i++)scanf("%d%d", &nums[i].f, &nums[i].s);sort(nums, nums + n);vector<PII> vtr;vtr.push_back(nums[0]);for(int i = 1; i < n; i++)if(vtr.back().s  >= nums[i].f) vtr[vtr.size() - 1].s = max(vtr[vtr.size() - 1].s, nums[i].s);else vtr.push_back(nums[i]);for(int i = 0; i < vtr.size(); i++)onTime = max(onTime, vtr[i].s - vtr[i].f); //int t = vtr[0].s;for(int i = 1; i < vtr.size(); i++)unTime = max(unTime, vtr[i].f - t), t = vtr[i].s;printf("%d %d", onTime, unTime);return 0;
}

總結

?主包要去休息了,實在是困得不行了,打了一天瞌睡QAQ。

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

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

相關文章

HTML輸出流

HTML 輸出流 JavaScript 中**「直接寫入 HTML 輸出流」**的核心是通過 document.write() 方法向瀏覽器渲染過程中的數據流動態插入內容。以下是詳細解釋&#xff1a; 一、HTML 輸出流的概念 1. 動態渲染過程 HTML 文檔的加載是自上而下逐行解析的。當瀏覽器遇到 <script&…

理解文字識別:一文讀懂OCR商業化產品的算法邏輯

文字識別是一項“歷久彌新”的技術。早在上世紀初&#xff0c;工程師們就開始嘗試使用當時有限的硬件設備掃描并識別微縮膠片、紙張上的字符。隨著時代和技術的發展&#xff0c;人們在日常生活中使用的電子設備不斷更新換代&#xff0c;文字識別的需求成為一項必備的技術基礎&a…

開源模型應用落地-語音轉文本-whisper模型-AIGC應用探索(五)

一、前言 在上一節中&#xff0c;學習了如何使用vLLM來部署Whisper-large-v3-turbo模型。不過&#xff0c;在實際使用時&#xff0c;模型一次只能處理30秒的音頻。今天&#xff0c;將結合實際業務&#xff0c;介紹如何處理一段完整的音頻&#xff0c;并生成相應的字幕文件。 相…

“十五五”時期航空彈藥發展環境分析

1&#xff0e;“十五五”時期航空彈藥發展環境分析 &#xff08;標題&#xff1a;小二號宋體居中&#xff09; 一、建言背景介紹 &#xff08;一級標題&#xff1a;黑體三號&#xff0c;首行空兩格&#xff09; 航空彈藥作為現代戰爭的核心裝備&#xff0c;其發展水平直接關乎…

IDEA批量替換項目下所有文件中的特定內容

文章目錄 1. 問題引入2. 批量替換項目下所有文件中的特定內容2.1 右鍵項目的根目錄&#xff0c;點擊在文件中替換2.2 輸入要替換的內容 3. 解決替換一整行文本后出現空行的問題4. 增加篩選條件提高匹配的精確度 更多 IDEA 的使用技巧可以查看 IDEA 專欄&#xff1a; IDEA 1. 問…

藍橋杯 臨時抱佛腳 之 二分答案法與相關題目

二分答案法&#xff08;利用二分法查找區間的左右端點&#xff09; &#xff08;1&#xff09;估計 最終答案可能得范圍 是什么 &#xff08;2&#xff09;分析 問題的答案 和 給定條件 之間的單調性&#xff0c;大部分時候只需要用到 自然智慧 &#xff08;3&#xff09;建…

學習爬蟲的第二天——分頁爬取并存入表中

閱讀提示&#xff1a;我現在還在嘗試爬靜態頁面 一、分頁爬取模式 以豆瓣Top250為例&#xff1a; 基礎url:豆瓣電影 Top 250https://movie.douban.com/top250 分頁參數:?start0&#xff08;第一頁&#xff09;、?start25&#xff08;第二頁&#xff09;等 每頁顯示25條數…

第 8 章:使用更好的庫_《C++性能優化指南》_notes

使用更好的庫 第八章核心知識點解析編譯與測試建議總結優化原則重點內容&#xff1a;第一部分&#xff1a;多選題&#xff08;10題&#xff09;第二部分&#xff1a;設計題答案與解析多選題答案&#xff1a;設計題答案示例&#xff08;部分&#xff09;&#xff1a; 測試用例設…

RabbitMQ 學習整理1 - 基礎使用

項目代碼&#xff1a;RabbitMQDemo: 學習RabbitMQ的一些整理 基本概念 RabbitMQ是一種基于AMQP協議的消息隊列實現框架RabbitMQ可以用于在系統與系統之間或者微服務節點之間&#xff0c;進行消息緩存&#xff0c;消息廣播&#xff0c;消息分配以及限流消峰處理RabbitMQ-Serve…

React組件簡介

組件 在 React 中&#xff0c;組件&#xff08;Component&#xff09; 是 UI 的基本構建塊。可以把它理解為一個獨立的、可復用的 UI 單元&#xff0c;類似于函數&#xff0c;它接受輸入&#xff08;props&#xff09;&#xff0c;然后返回 React 元素來描述 UI。 組件的簡單…

Kafka消息序列化深度革命:構建高性能、高安全的自定義編碼體系

一、突破默認序列化的桎梏 1.1 原生序列化器的致命缺陷 Kafka默認提供的StringSerializer/ByteArraySerializer在復雜場景下暴露三大痛點&#xff1a; 類型安全黑洞&#xff1a;字節流缺乏元數據描述&#xff0c;消費端解析如履薄冰版本兼容困境&#xff1a;數據結構變更導致…

向量數據庫與傳統數據庫的差異

向量數據庫是一種專門設計用于高效存儲、管理和檢索**向量數據&#xff08;高維數值數組&#xff09;**的數據庫系統。它針對非結構化數據&#xff08;如圖像、文本、音頻&#xff09;的特征進行優化&#xff0c;通過將數據轉化為向量嵌入&#xff08;embeddings&#xff09;&a…

自動化框架的設計與實現

一、自動化測試框架 在大部分測試人員眼中只要沾上“框架”&#xff0c;就感覺非常神秘&#xff0c;非常遙遠。大家之所以覺得復雜&#xff0c;是因為落地運用起來很復雜&#xff1b;每個公司&#xff0c;每個業務及產品線的業務流程都不一樣&#xff0c;所以就導致了“自動化…

SpringBoot 3+ Lombok日志框架從logback改為Log4j2

r要將Spring Boot 3項目中的日志框架從Logback切換到Log4j2&#xff0c;并配置按日期滾動文件和控制臺輸出&#xff0c;請按照以下步驟操作&#xff1a; 步驟 1&#xff1a;排除Logback并添加Log4j2依賴 在pom.xml中修改依賴&#xff1a; <dependencies><!-- 排除默…

①、環境準備-主流技術(IPS/FW/主備-主主快速切換)

主流技術&(IPS/FW/主備-主主快速切換&#xff09; 一、RBM主備方案 RBM-FW-P 主配置內容介紹-注釋 remote-backup group 含義&#xff1a;定義了一個遠程備份組。這表明設備支持某種形式的遠程備份功能&#xff0c;用于在設備之間同步配置或數據。data-channel interface …

量化交通擁堵

指數&#xff1a; 基于嚴重擁堵里程比的指數和基于出行時間比的指數。 評價指標是飽和度&#xff08;VC比&#xff09;&#xff0c;它表示交通量與通行能力的比值。 飽和度可分為道路飽和度和路口飽和度。道路飽和度還會進一步分級&#xff0c;有四檔和六檔之分。 城市道路和…

PDF與Markdown的量子糾纏:一場由VLM導演的文檔界奇幻秀

緣起:當格式界的"泰坦尼克號"撞上"黑客帝國" 某個月黑風高的夜晚,在"二進制酒吧"的霓虹燈下: PDF(西裝革履地晃著威士忌): “我的每一頁都像瑞士手表般精密,連華爾街的禿鷲都為我傾倒!” Markdown(穿著帶洞的拖鞋): “得了吧老古董!…

【neo4j數據導出并在其他電腦導入】

停止服務 neo4j stop 導出 neo4j-admin database dump neo4j --to-path"C:\Users\12901\Downloads\test folder" 導入 將 .dump 文件放在一個目錄中 mkdir /root/dump-directory mv /root/neo4j.dump /root/dump-directory/ 使用包含 .dump 文件的目錄路徑作為 …

前端使用WPS WebOffice 做在線文檔預覽與編輯

先附上官網 WebOffice SDK 1、在下面這個地方找到jdk&#xff0c;然后下載 按照 2、只需要把jdk下載下來&#xff0c;放到項目中&#xff0c;然后引入到項目中就可以了&#xff0c;在wps 官網創建個應用&#xff0c;然后把appId放到代碼中就可以了&#xff0c;等待后端把回調…

跨語言微服務架構(Java、Python)——“API中臺”

文章目錄 一、引言二、系統架構概述2.1 統一單點登錄&#xff08;SSO&#xff09;與權限管理設計2.2 API中臺與數據中臺的融合2.3 跨語言適配器與 JWT 認證機制 三、技術細節與工具選型3.1 SSO 系統的選型與實現3.2 微服務架構與 API 中臺的實現3.3 跨語言適配器實現與技術難點…