【CF】Codeforces Round 1039 (Div. 2) E1 (二分答案求中位數)

E1. Submedians (Easy Version)

題目:

思路:

經典不過加了點東西

對于求中位數,我們必然要想到二分答案,具體的,對于所有大于等于 x 的數我們令其奉獻為 1,小于的為 -1,如果存在某段區間的奉獻和大于等于 0,那么就說明這段區間的中位數大于等于 x

本題也一樣,由于題目要求長度要大于等于 k,因此我們要存儲最小的左端點,且距離 i 大于等于 k,具體看代碼

代碼:

#include <bits/stdc++.h>
using namespace std;
#define int long long
#define yes cout << "Yes\n"
#define no cout << "No\n"
int n, k;
int a[300005];
int sum[300005];
void solve()
{cin >> n >> k;for (int i = 1; i <= n; i++){cin >> a[i];}int l = 0, r = 300000;auto check = [&](int x) -> tuple<int, int, int>{for (int i = 1; i <= n; i++){sum[i] = sum[i - 1] + (a[i] >= x ? 1 : -1);}int mi = 0,mipos = 0;for (int i = k; i <= n; i++){if (sum[i] - mi >= 0){return {1, mipos+1, i};}int j = i - k  +1;if(sum[j] < mi){mi = sum[j];mipos = j;}}return {0, 0, 0};};while (l + 1 < r){int mid = l + r >> 1;auto [flag, a, b] = check(mid);if (flag){l = mid;}else{r = mid;}}auto [f, L, R] = check(r);if (f){cout << r << " " << L << " " << R << endl;return;}auto [ f2, a, b ] = check(l);cout << l << " " << a << " " << b << endl;
}signed main()
{ios::sync_with_stdio(false);cin.tie(nullptr);int t = 1;cin >> t;while (t--){solve();}return 0;
}

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

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

相關文章

ESP32-S3學習筆記<8>:LEDC的應用

ESP32-S3學習筆記&#xff1c;8&#xff1e;&#xff1a;LEDC的應用1. 頭文件包含2. LEDC的配置2.1 配置定時器2.1.1 speed_mode/設置速度模式2.1.2 duty_resolution/設置占空比分辨率2.1.3 timer_num/選擇定時器2.1.4 freq_hz/設定PWM頻率2.1.5 clk_cfg/選擇LEDC的外設時鐘源2…

網絡安全第14集

前言&#xff1a;小迪安全14集&#xff0c;這集重點內容&#xff1a;0、什么是js滲透測試&#xff1f;在javascript中也存在變量和函數&#xff0c;存在可控變量和函數就有可能存在在漏洞&#xff0c;js開發的web應用和php、java開發的區別是&#xff0c;js能看得到的源代碼&am…

代碼隨想錄算法訓練營第三十三天

LeetCode.62 不同路徑 題目鏈接 不同路徑 題解 class Solution {public int uniquePaths(int m, int n) {// dp表示到達ij有多少條路徑int[][] dp new int[110][110];dp[1][1] 1;for(int i 0;i<m;i){dp[i][0] 1;}for(int j 0;j<n;j){dp[0][j] 1;}for(int i 1;i…

銀行回單OCR識別技術原理

銀行回單OCR&#xff08;光學字符識別&#xff09;技術通過結合圖像處理、模式識別和自然語言處理&#xff08;NLP&#xff09;技術&#xff0c;將紙質或電子版銀行回單中的非結構化文本&#xff08;如賬號、金額、日期等&#xff09;轉化為結構化數據。以下是其核心原理和關鍵…

Day22-二叉樹的迭代遍歷

昨天學習了遞歸遍歷&#xff1a;遞歸就是一次次的把參數壓入棧中&#xff0c;然后返回的時候還是上一次遞歸保存的參數。今天學習迭代遍歷。迭代遍歷就是用棧去模擬保存二叉樹的節點&#xff0c;然后依次去遍歷&#xff0c;只不過要注意棧的后入先出的規則。前序遍歷&#xff1…

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出

知識蒸餾 - 通過引入溫度參數T調整 Softmax 的輸出 flyfish import torch import torch.nn.functional as F import matplotlib.pyplot as plt import numpy as np# 設置中文字體支持 plt.rcParams["font.family"] [AR PL UMing CN] # Linux plt.rcParams[axes.uni…

Java研學-RabbitMQ(三)

一 消息通信協議 1 AMQP AMQP 是一個開放的、跨語言、跨平臺的消息協議標準&#xff0c;用于在分布式系統中傳遞業務消息。它定義了消息隊列的二進制協議格式和交互模型&#xff08;如交換機、隊列、綁定等&#xff09;&#xff0c;確保不同語言&#xff08;Java、Python、C#等…

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求

http.client 教程-如何使用 Python 標準庫發送 HTTP 請求以下是 http.client 模塊的詳細使用教程&#xff0c;幫助你理解如何使用 Python 標準庫發送 HTTP 請求&#xff1a;1. http.client 概述http.client 是 Python 內置的 HTTP 客戶端庫&#xff0c;提供了底層的 HTTP 協議實…

Android-三種持久化方式詳解

持久化技術分為3種&#xff0c;文件&#xff0c;sharedPreferences存儲&#xff0c;數據庫來存儲&#xff1b; 目錄 文件存儲&#xff1a; 利用SharedPreferences中讀取數據 SQLite創建數據庫 更新 添加 刪除 查找&#xff1a; 文件存儲&#xff1a; 文件存儲是 Andr…

并發安全之鎖機制一

鎖機制一 鎖機制是計算機系統中解決并發沖突的核心工具&#xff0c;其存在和應用場景源于一個根本問題&#xff1a;當多個執行單元&#xff08;線程、進程、分布式節點&#xff09;同時訪問或修改同一份共享資源時&#xff0c;如何保證數據的正確性、一致性和系統可靠性&#x…

結合項目闡述 設計模式:單例、工廠、觀察者、代理

原文鏈接&#xff1a;https://download.csdn.net/blog/column/12433305/133862792#_1613 1、工廠模式應用 C17及之后可編譯 /*日志落地模塊的實現1.抽象落地基類2.派生子類&#xff08;根據不同落地方向進行派生&#xff09;3.使用工廠模式進行創建與表示的分離 */#ifndef _…

uniapp 更新apk有緩存點不動,卸載安裝apk沒有問題。android

方式一。pages.json&#xff1a;"globalStyle" : {"navigationBarTextStyle" : "black","navigationBarTitleText" : "uni-app","navigationBarBackgroundColor" : "#F8F8F8","backgroundColor&qu…

HTML響應式SEO公司網站源碼

核心優勢 100%純HTML/CSS開發自動適配手機/平板/PC內置SEO優化結構0.5秒極速加載 包含頁面 ? 首頁&#xff08;關鍵詞布局優化版&#xff09; ? 服務項目展示頁 ? 客戶案例庫 ? 新聞資訊系統 ? 聯系方式&#xff08;帶地圖API&#xff09; 技術參數 兼容Chrome/Firefo…

Error: llama runner process has terminated: exit status 2

我是i7 12700h ,3080顯卡&#xff0c;在 Windows 11 上運行 ollama run deepseek-r1:1.5b 出現 Error: llama runner process has terminated: exit status 2 之前是好用的&#xff0c;后來不知為什么就不好用了。 原因&#xff1a; 檢查 Microsoft Visual C Redistributab…

Linux中ssh遠程登錄原理與配置

SSH連接的五個階段 1. 版本協商階段&#xff08;Protocol Version Negotiation&#xff09;目的&#xff1a;協商使用SSH-1或SSH-2協議&#xff08;現代系統默認SSH-2&#xff09;。流程&#xff1a;關鍵點&#xff1a;若版本不兼容&#xff08;如客戶端只支持SSH-1&#xff0c…

Kubernetes --存儲入門

一、Volume 的概念對于大多數的項目而言&#xff0c;數據文件的存儲是非常常見的需求&#xff0c;比如存儲用戶上傳的頭像、文件以及數據庫的數據。在 Kubernetes 中&#xff0c;由于應用的部署具有高度的可擴展性和編排能力&#xff08;不像傳統架構部署在固定的位置&#xff…

螞蟻 KAG 框架開源:知識圖譜 + RAG 雙引擎

引言&#xff1a;從RAG到KAG&#xff0c;專業領域知識服務的技術突破 在大語言模型&#xff08;LLM&#xff09;應用落地過程中&#xff0c;檢索增強生成&#xff08;RAG&#xff09; 技術通過引入外部知識庫有效緩解了模型幻覺問題&#xff0c;但在專業領域仍面臨三大核心挑戰…

V-Ray 7.00.08 for 3ds Max 2021-2026 安裝與配置教程(含語言補丁)

本文介紹 V-Ray 7.00.08 渲染器在 3ds Max 2021-2026 各版本中的安裝與使用配置步驟&#xff0c;適合需要進行可視化渲染工作的設計師、建筑師及相關從業者。附帶語言補丁配置方式&#xff0c;幫助用戶獲得更順暢的使用體驗。 &#x1f4c1; 一、安裝文件準備 軟件名稱&#xf…

Go-Elasticsearch Typed Client查詢請求的兩種寫法強類型 Request 與 Raw JSON

1 為什么需要兩種寫法&#xff1f; 在 Golang 項目中訪問 Elasticsearch&#xff0c;一般會遇到兩類需求&#xff1a;需求場景特點最佳寫法后臺服務 / 業務邏輯查詢固定、字段清晰&#xff0c;需要編譯期保障Request 結構體儀表盤 / 高級搜索 / 模板 DSL查詢片段由前端或腳本動…

Leaflet 綜合案例-聚類圖層控制

看過的知識不等于學會。唯有用心總結、系統記錄&#xff0c;并通過溫故知新反復實踐&#xff0c;才能真正掌握一二 作為一名摸爬滾打三年的前端開發&#xff0c;開源社區給了我飯碗&#xff0c;我也將所學的知識體系回饋給大家&#xff0c;助你少走彎路&#xff01; OpenLayers…