25.5.20學習總結

做題思路

數列分段 Section IIhttps://www.luogu.com.cn/problem/P1182正如題目所說,我們需要得到一個最小的最大段的值,可能有人將注意力放在分段上,事實上,我們更多的應該關注結果。這是一道二分答案的題,你可以先確認某次分段后的可能的最大段的值q,然后盡量往最大段的值方向去分段,這樣,在保證了分段后的最大段的值小于等于q,再看所分的段數,如果大于限定的段數,說明不可能最大段的值是q。因為在保證所分段的值不超過q的情況下,無法減少段數使其達到要求,這時應該往大于q的范圍上去找。如果小于等于限定的段數,說明可能還有更小的q。因為段數小于要求,可以將某段拆成多段來增大段數,這時可能有更小的q符合要求。而這時為了更快的找到q的值,我們可以使用二分查找的方式去找。對于n個數,最小的q就是每個一段分出n段時,n個數中的最大值,最大的q就是只分出1段時,n個數的和。

#include<stdio.h>
#include<stdlib.h>
int check(int max,int *data,int num,int limit_count){int current_sum=0,count=0;for(int i=0;i<num;i++){if(data[i]>max)return 0;if(current_sum+data[i]>max){count++;current_sum=data[i];}else current_sum+=data[i];}count++;return count<=limit_count;
}
int main() {int N, M, max = 0, sum = 0;scanf("%d %d", &N, &M);int *data = (int*)malloc(sizeof(int) * N);for (int i = 0; i < N; i++) {scanf("%d", &data[i]);sum += data[i];if (data[i] > max)max = data[i];}int left=max,right=sum;while(left<right){int mid=(left+right)/2;if(check(mid,data,N,M))right=mid;else left=mid+1;}printf("%d",left);free(data);return 0;
}

書的復制https://www.luogu.com.cn/problem/P1281?這道題的思路和上面的題一模一樣,但要注意輸出時的條件:行的起始編號應該從小到大排列,如果有多解,則盡可能讓前面的人少抄寫。

#include<stdio.h>
#include<stdlib.h>
int check(int max,int *data,int num,int limit_count){int current_sum=0,count=0;for(int i=0;i<num;i++){if(data[i]>max)return 0;if(current_sum+data[i]>max){count++;current_sum=data[i];}else current_sum+=data[i];}count++;return count<=limit_count;
}
int main() {int N, M, max = 0, sum = 0;scanf("%d %d", &N, &M);int *data = (int*)malloc(sizeof(int) * N);for (int i = 0; i < N; i++) {scanf("%d", &data[i]);sum += data[i];if (data[i] > max)max = data[i];}int left=max,right=sum;while(left<right){int mid=(left+right)/2;if(check(mid,data,N,M))right=mid;else left=mid+1;}int result[M][2],current_sum=0,count=0;result[0][1]=N,result[M-1][0]=1;for(int i=N;i>0;i--){if(current_sum+data[i-1]>left){result[count++][0]=i+1;result[count][1]=i;current_sum=data[i-1];}else current_sum+=data[i-1];}for(int i=M-1;i>=0;i--){printf("%d %d\n",result[i][0],result[i][1]);}free(data);return 0;
}

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

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

相關文章

Python爬蟲-爬取百度指數之人群興趣分布數據,進行數據分析

前言 本文是該專欄的第56篇,后面會持續分享python爬蟲干貨知識,記得關注。 在本專欄之前的文章《Python爬蟲-爬取百度指數之需求圖譜近一年數據》中,筆者有詳細介紹過爬取需求圖譜的數據教程。 而本文,筆者將再以百度指數為例子,基于Python爬蟲獲取指定關鍵詞的人群“興…

【工具使用】STM32CubeMX-USB配置-實現U盤功能

一、概述 無論是新手還是大佬&#xff0c;基于STM32單片機的開發&#xff0c;使用STM32CubeMX都是可以極大提升開發效率的&#xff0c;并且其界面化的開發&#xff0c;也大大降低了新手對STM32單片機的開發門檻。 ????本文主要講述STM32芯片USB功能的配置及其相關知識。 二…

從ISO17025合規到信創適配 解密質檢lims系統實驗室的 AI 質檢全鏈路實踐

在北京某國家級質檢中心的 CMA 復評審現場&#xff0c;審核專家通過系統后臺調取近半年的檢測記錄&#xff0c;從樣品登記時的電子簽名到報告簽發的 CA 簽章&#xff0c;178 項合規指標全部自動校驗通過 —— 這是白碼質檢 LIMS 系統創造的合規奇跡。 一、智能合規引擎&#xf…

【操作系統】進程同步問題——生產者-消費者問題

問題描述 生產者進程負責生產產品&#xff0c;并將產品存入緩沖池&#xff0c;消費者進程則從緩沖池中取出產品進行消費。為實現生產者和消費者的并發執行&#xff0c;系統在兩者之間設置了一個包含n個緩沖區的緩沖池。生產者將產品放入緩沖區&#xff0c;消費者則從緩沖區中取…

SpringBoot-6-在IDEA中配置SpringBoot的Web開發測試環境

文章目錄 1 環境配置1.1 JDK1.2 Maven安裝配置1.2.1 安裝1.2.2 配置1.3 Tomcat1.4 IDEA項目配置1.4.1 配置maven1.4.2 配置File Encodings1.4.3 配置Java Compiler1.4.4 配置Tomcat插件2 Web開發環境2.1 項目的POM文件2.2 項目的主啟動類2.3 打包為jar或war2.4 訪問測試3 附錄3…

Vue3 父子組件傳值, 跨組件傳值,傳函數

目錄 1.父組件向子組件傳值 1.1 步驟 1.2 格式 2. 子組件向父組件傳值 1.1 步驟 1.2 格式 3. 跨組件傳值 運行 4. 跨組件傳函數 ?5. 總結 1. 父傳子 2. 子傳父 3. 跨組件傳值(函數) 1.父組件向子組件傳值 1.1 步驟 在父組件中引入子組件 在子組件標簽中自定義屬…

嵌入式學習筆記 - STM32 U(S)ART 模塊HAL 庫函數總結

一 串口發送方式&#xff1a; ①輪訓方式發送&#xff0c;也就是主動發送&#xff0c;這個容易理解&#xff0c;使用如下函數&#xff1a; HAL_UART_Transmit(UART_HandleTypeDef *huart, const uint8_t *pData, uint16_t Size, uint32_t Timeout); ②中斷方式發送&#xff…

AI無法解決的Bug系列(一)跨時區日期過濾問題

跨時區開發中&#xff0c;React Native如何處理新西蘭的日期過濾問題 有些Bug&#xff0c;不是你寫錯代碼&#xff0c;而是現實太魔幻。 比如我最近給新西蘭客戶開發一個React Native應用&#xff0c;功能非常樸素&#xff1a;用戶選一個日期范圍&#xff0c;系統返回該范圍內…

基于天貓 API 的高效商品詳情頁實時數據接入方法解析

一、引言 在電商大數據分析、競品監控及智能選品等場景中&#xff0c;實時獲取天貓商品詳情頁數據是關鍵需求。本文將詳細解析通過天貓開放平臺 API 高效接入商品詳情數據的技術方案&#xff0c;涵蓋接口申請、數據獲取邏輯及代碼實現&#xff0c;幫助開發者快速構建實時數據采…

系分論文《論遺產系統演化》

系統分析師論文范文系列 摘要 2022年6月,某金融機構啟動核心業務系統的技術升級項目,旨在對其運行超過十年的遺留系統進行演化改造。該系統承擔著賬戶管理、支付結算等關鍵業務功能,但其技術架構陳舊、擴展性不足,難以適應數字化轉型與業務快速增長的需求。作為系統分析師,…

Spark Core基礎與源碼剖析全景手冊

Spark Core基礎與源碼剖析全景手冊 Spark作為大數據領域的明星計算引擎&#xff0c;其核心原理、源碼實現與調優方法一直是面試和實戰中的高頻考點。本文將系統梳理Spark Core與Hadoop生態的關系、經典案例、聚合與分區優化、算子底層原理、集群架構和源碼剖析&#xff0c;結合…

人工智能賦能產業升級:AI在智能制造、智慧城市等領域的應用實踐

人工智能賦能產業升級&#xff1a;AI在智能制造、智慧城市等領域的應用實踐 近年來&#xff0c;人工智能&#xff08;AI&#xff09;技術的快速發展為各行各業帶來了深刻的變革。無論是制造業、城市管理&#xff0c;還是交通、醫療等領域&#xff0c;AI技術都展現出了強大的應用…

React Native打包報錯: Task :react-native-picker:verifyReleaseResources FAILE

RN打包報錯&#xff1a; Task :react-native-picker:verifyReleaseResources FAILED Execution failed for task :react-native-picker:verifyReleaseResources. 解決方法&#xff1a; 修改文件react-native-picker中的版本信息。 路徑&#xff1a;node_modules/react-native-p…

虛擬網絡編輯器

vmnet1 僅主機模式 hostonly 功能&#xff1a;虛擬機只能和宿主機通過vmnet1通信&#xff0c;不可連接其他網絡&#xff08;包括互聯網&#xff09; vmnet8 地址轉換模式 NAT 功能&#xff1a;虛擬機可以和宿主通過vmnet8通信&#xff0c;并且可以連接其他網絡&#xff0c;但是…

docker環境和dockerfile制作

docker 一、環境和安裝 1、 docker安裝 使用 root 權限登錄 CentOS。確保 yum 包更新到最新sudo yum update卸載舊版本yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux …

[luogu12542] [APIO2025] 排列游戲 - 交互 - 博弈 - 分類討論 - 構造

傳送門&#xff1a;https://www.luogu.com.cn/problem/P12542 題目大意&#xff1a;給定一個長為 n n n 的排列和一張 m m m 個點 e e e 條邊的簡單連通圖。每次你可以在圖上每個點設置一個 0 ~ n ? 1 0\sim n-1 0~n?1、兩兩不同的權值發給交互庫&#xff0c;交互庫會…

智能體agent概述

智能體概述 智能體是一個能夠感知環境并在環境中自主行動以實現特定目標的系統。它具有以下幾個關鍵特征&#xff1a; 自主性 - 智能體可以在沒有直接人為干預的情況下運作&#xff0c;能夠自行決策和行動。 響應性 - 能夠感知環境并對環境變化做出及時響應。 主動性 - 不僅…

2:OpenCV—加載顯示圖像

加載和顯示圖像 從文件和顯示加載圖像 在本節中&#xff0c;我將向您展示如何使用 OpenCV 庫函數從文件加載圖像并在窗口中顯示圖像。 首先&#xff0c;打開C IDE并創建一個新項目。然后&#xff0c;必須為 OpenCV 配置新項目。 #include <iostream> #include <ope…

python訓練 60天挑戰-day31

知識點回顧 規范的文件命名規范的文件夾管理機器學習項目的拆分編碼格式和類型注解 昨天我們已經介紹了如何在不同的文件中&#xff0c;導入其他目錄的文件&#xff0c;核心在于了解導入方式和python解釋器檢索目錄的方式。 搞清楚了這些&#xff0c;那我們就可以來看看&#x…

構建自動收集并總結互聯網熱門話題的網站

構建自動收集并總結互聯網熱門話題的網站的具體方案&#xff1a; 一、系統架構設計 數據采集層 ? 使用Python的Scrapy或BeautifulSoup抓取新聞網站/社交媒體API # 示例&#xff1a;微博熱點爬蟲 import requests def fetch_weibo_hot():url "https://weibo.com/ajax/st…