筆試——Day45

文章目錄

  • 第一題
    • 題目
    • 思路
    • 代碼
  • 第二題
    • 題目
    • 思路
    • 代碼
  • 第三題
    • 題目
    • 思路
    • 代碼

第一題

題目

kanan和高音

在這里插入圖片描述

思路

雙指針遍歷數組,更新左右端點并計算最大值

代碼

#include<iostream>
#include<vector>
using namespace std;int main()
{int n; cin >> n;vector<int> a(n);for(int i = 0; i < n; i++) cin >> a[i];int res = 1;for(int i = 0; i < n;){int j = i;while(j + 1 < n && a[j + 1] - a[j] <= 8) j++;res = max(res, j - i + 1);i = j + 1;}cout << res << endl;return 0;
}

第二題

題目

拜訪

在這里插入圖片描述

思路

單源最短路: 額外利用一個cnt數組維護到當前位置的方法數

代碼

// https://www.nowcoder.com/practice/491828fc7d93459db450b344c2aaaeef?tpId=128&tqId=33770&ru=/exam/oj
#include<iostream>
#include<vector>
#include<queue>using namespace std;class Solution {int n, m;int x1, y1, x2, y2;int dist[11][11];int cnt[11][11];int dx[4] = {1, -1, 0, 0};int dy[4] = {0, 0, 1, -1};
public:/*** 代碼中的類名、方法名、參數名已經指定,請勿修改,直接返回方法規定的值即可** * @param CityMap int整型vector<vector<>> * @param n int整型 * @param m int整型 * @return int整型*/int countPath(vector<vector<int> >& CityMap, int _n, int _m) {// write code heren = _n, m = _m;for(int i = 0; i < n; i++){for(int j = 0; j < m; j++){if(CityMap[i][j] == 2){x1 = i, y1 = j; // 起點}if(CityMap[i][j] == 1){x2 = i, y2 = j; // 終點}}}return bfs(CityMap);}int bfs(vector<vector<int> >& CityMap){memset(dist, -1, sizeof(dist));queue<pair<int, int>> q;q.push({x1, y1});dist[x1][y1] = 0;cnt[x1][y1] = 1;while(q.size()){auto [a, b] = q.front(); q.pop();for(int i = 0; i < 4; i++){int x = a + dx[i];int y = b + dy[i];if(x >= 0 && x < n && y >= 0 && y < m && CityMap[x][y] != -1){if(dist[x][y] == -1){dist[x][y] = dist[a][b] + 1;cnt[x][y] = cnt[a][b];q.push({x, y});}else if(dist[x][y] == dist[a][b] + 1){cnt[x][y] = (cnt[x][y] + cnt[a][b]);}}}}return cnt[x2][y2];}
};

第三題

題目

買賣股票的最好時機(四)
在這里插入圖片描述

思路

動態規劃

  • 狀態表示:

    • f[i][j]i天結束后操作了j次,手里有股票;
    • g[i][j]i天結束后操作了j次,手里沒有股票;
  • 狀態轉移方程:

    • 對于f[i][j]
      • 前一天手里有股票,交易了j次,第i天什么也不干,此時f[i][j] = f[i - 1][j]
      • 前一天手里沒股票,交易了j次,第i天買入股票,此時f[i][j] = g[i - 1][j] - price[i]
    • 對于g[i][j]
      • 前一天手里有股票,交易了j - 1次,第i天賣出股票,此時g[i][j] = f[i - 1][j - 1] + price[i]
      • 前一天手里沒股票,交易了j次,第i天什么也不干,此時g[i][j] = g[i - 1][j]
  • 初始化:由于需要?到i = 0 時的狀態,因此我們初始化第??即可

    • 0天時,買?過?次, f[0][0] = - prices[0]
  • 填表順序:從上往下填每??,每??從左往右,兩個表?起填

  • 返回值:返回處于賣出狀態的最?值,但是我們也不知道是交易了?次,因此返回g 表最后??的最?值

代碼

	#include <cstring>
#include <iostream>
using namespace std;const int N = 1010, M = 110;
int n, k, p[N];
int f[N][M], g[N][M];int main() 
{cin >> n >> k;for(int i = 0; i < n; i++) cin >> p[i];memset(f, -0x3f3f3f3f, sizeof f);memset(g, -0x3f3f3f3f, sizeof g);k = min(k, n / 2);f[0][0] = -p[0];g[0][0] = 0;for(int i = 1; i < n; i++){for(int j = 0; j <= k; j++){f[i][j] = max(f[i - 1][j], g[i - 1][j] - p[i]);g[i][j] = g[i - 1][j];if(j >= 1) g[i][j] = max(g[i][j], f[i - 1][j - 1] + p[i]);}}int ret = 0;for(int j = 0; j <= k; j++) ret = max(ret, g[n - 1][j]);cout << ret << endl;return 0;
}
// 64 位輸出請用 printf("%lld")

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

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

相關文章

nnDetection網絡結構分析

基于 RetinaNet 框架擴展&#xff0c;核心用于處理 3D 體積數據&#xff08;如醫學影像 CT/MRI&#xff09;&#xff0c;通過 “Encoder-Decoder-Head” 架構實現多任務學習。以下從整體框架、核心模塊細節、技術特點、應用場景四個維度展開分析。一、整體框架概覽首先通過表格…

Torch -- 卷積學習day4 -- 完整項目流程

完整項目流程總結1. 環境準備與依賴導入import time import os import numpy as np import pandas as pd import torch import torch.nn as nn import torch.optim as optim import torchvision import torchvision.transforms as transforms from torch.utils.data import Dat…

MTK Linux DRM分析(七)- KMS drm_plane.c

一、簡介在 Linux DRM&#xff08;Direct Rendering Manager&#xff09;子系統中&#xff0c;Plane&#xff08;平面&#xff09;代表了一個圖像源&#xff0c;可以在掃描輸出過程中與 CRTC 混合或疊加顯示。每個 Plane 從 drm_framebuffer 中獲取輸入數據&#xff0c;并負責圖…

OpenHarmony之 藍牙子系統全棧剖析:從協議棧到芯片適配的端到端實踐(大合集)

1. 系統架構概述 OpenHarmony藍牙系統采用分層架構設計&#xff0c;基于HDF&#xff08;Hardware Driver Foundation&#xff09;驅動框架和系統能力管理&#xff08;System Ability&#xff09;機制實現。 1.1 架構層次 ┌─────────────────────────…

探索 Ultralytics YOLOv8標記圖片

1、下載YOLOv8模型文件 下載地址&#xff1a;https://docs.ultralytics.com/zh/models/yolov8/#performance-metrics 2、編寫python腳本 aaa.py import cv2 import numpy as np from ultralytics import YOLO import matplotlib.pyplot as pltdef plot_detection(image, box…

Matplotlib數據可視化實戰:Matplotlib子圖布局與管理入門

Matplotlib多子圖布局實戰 學習目標 通過本課程的學習&#xff0c;學員將掌握如何在Matplotlib中創建和管理多個子圖&#xff0c;了解子圖布局的基本原理和調整方法&#xff0c;能夠有效地展示多個數據集&#xff0c;提升數據可視化的效果。 相關知識點 Matplotlib子圖 學習內容…

【python實用小腳本-194】Python一鍵給PDF加水印:輸入文字秒出防偽文件——再也不用開Photoshop

Python一鍵給PDF加水印&#xff1a;輸入文字秒出防偽文件——再也不用開Photoshop PDF加水印, 本地腳本, 零會員費, 防偽標記, 瑞士軍刀 故事開場&#xff1a;一把瑞士軍刀救了投標的你 周五下午&#xff0c;你把 100 頁標書 PDF 發給客戶&#xff0c;卻擔心被同行盜用。 想加水…

開源 C++ QT Widget 開發(四)文件--二進制文件查看編輯

文章的目的為了記錄使用C 進行QT Widget 開發學習的經歷。臨時學習&#xff0c;完成app的開發。開發流程和要點有些記憶模糊&#xff0c;趕緊記錄&#xff0c;防止忘記。 相關鏈接&#xff1a; 開源 C QT Widget 開發&#xff08;一&#xff09;工程文件結構-CSDN博客 開源 C…

【密碼學實戰】X86、ARM、RISC-V 全量指令集與密碼加速技術全景解析

前言 CPU 指令集是硬件與軟件交互的核心橋梁&#xff0c;其設計直接決定計算系統的性能邊界與應用場景。在數字化時代&#xff0c;信息安全依賴密碼算法的高效實現&#xff0c;而指令集擴展則成為密碼加速的 “隱形引擎”—— 從服務器端的高吞吐量加密&#xff0c;到移動端的…

2025-08-21 Python進階2——數據結構

文章目錄1 列表&#xff08;List&#xff09;1.1 列表常用方法1.2 列表的特殊用途1.2.1 實現堆棧&#xff08;后進先出&#xff09;1.2.2 實現隊列&#xff08;先進先出&#xff09;1.3 列表推導式1.4 嵌套列表推導式2 del 語句3 元組&#xff08;Tuple&#xff09;4 集合&…

告別手工編寫測試腳本!Claude+Playwright MCP快速生成自動化測試腳本

在進行自動化測試時&#xff0c;前端頁面因為頻繁迭代UI 結構常有變動&#xff0c;這往往使得自動化測試的腳本往往“寫得快、廢得也快”&#xff0c;維護成本極高。在大模型之前大家往往都會使用錄制類工具&#xff0c;但錄制類工具生成的代碼靈活性較差、定位方式不太合理只能…

一款更適合 SpringBoot 的API文檔新選擇(Spring Boot 應用 API 文檔)

SpringDoc&#xff1a;Spring Boot 應用 API 文檔生成的現代化解決方案 概述 SpringDoc 是一個專為 Spring Boot 應用設計的開源庫&#xff0c;能夠自動生成符合 OpenAPI 3 規范的 API 文檔。它通過掃描項目中的控制器、方法注解及相關配置&#xff0c;動態生成 JSON/YAML/HTML…

文獻閱讀 250821-When and where soil dryness matters to ecosystem photosynthesis

When and where soil dryness matters to ecosystem photosynthesis 來自 <When and where soil dryness matters to ecosystem photosynthesis | Nature Plants> ## Abstract: Background: Projected increases in the intensity and frequency of droughts in the twen…

React學習(九)

目錄&#xff1a;1.react-進階-antd-新增2.react-進階-antd-刪除選中1.react-進階-antd-新增新增代碼&#xff0c;跟需改的代碼類似&#xff0c;直接copy修改組件代碼進行修改userEffect可以先帶著&#xff0c;沒啥用A6組件用到的函數跟修改的也類似&#xff1a;這個useEffect函…

零基礎從頭教學Linux(Day 17)

三層交換機一、三層交換機的配置1.關于如何配置三層交換機&#xff0c;首先我們應該先創建VLANSwitch>en Switch#vlan database % Warning: It is recommended to configure VLAN from config mode,as VLAN database mode is being deprecated. Please consult userdocument…

任務十四 推薦頁面接口開發

一、接口準備 在對接qq音樂接口之前,首先要將之前的項目,一定要記得備份一份; 備份完成之后,首先要在vscode終端安裝axios,這個是請求后端的工具,和之前的ajax一樣,都是請求后端的工具。只不過axios更專業化,跟強大 至于qq音樂接口怎么獲取,一般有兩個途徑,第一個是…

醫療AI與醫院數據倉庫的智能化升級:異構采集、精準評估與高效交互的融合方向(下)

核心功能創新詳解: 統一門戶與角色化工作臺: 統一入口: 用戶通過單一URL登錄,系統根據其角色和權限自動呈現專屬工作臺。 角色化工作臺: 臨床醫生工作臺: 首屏展示常用患者查詢入口、快速統計(如“我的患者檢驗異常趨勢”)、相關臨床文獻推薦、待處理任務(如報告審核)…

數據庫面試常見問題

數據庫 Delete Truncate Drop 區別 答:這三個操作都是針對數據庫的表進行操作,都有刪除表的功能,其中的區別在于: Delete:只將表中的數據進行刪除,不刪除定義不釋放空間,是dml語句,需要提交事務,如果不想刪除可以回滾。delete每次刪除一行,并在事務日志中為所刪除…

用nohup setsid繞過超時斷連,穩定反彈Shell

在We滲透過程中&#xff0c;我們常常會利用目標系統的遠程代碼執行&#xff08;RCE&#xff09;漏洞進行反彈Shell。然而&#xff0c;由于Web服務器&#xff08;如PHP、Python后端&#xff09;的執行環境通常存在超時限制&#xff08;如max_execution_time或進程管理策略&#…

Java設計模式-模板方法模式

Java設計模式-模板方法模式 模式概述 模板方法模式簡介 核心思想&#xff1a;定義一個操作中的算法骨架&#xff08;模板方法&#xff09;&#xff0c;將算法中某些步驟的具體實現延遲到子類中完成。子類可以在不改變算法整體結構的前提下&#xff0c;重定義這些步驟的行為&…