長度不超過n的連續最大和___優先隊列

題目鏈接:

https://nanti.jisuanke.com/t/36116

題目:

在蒜廠年會上有一個抽獎,在一個環形的桌子上,有?nn?個紙團,每個紙團上寫一個數字,表示你可以獲得多少蒜幣。但是這個游戲比較坑,里面竟然有負數,表示你要支付多少蒜幣。因為這些數字都是可見的,所以大家都是不會出現的賠的情況。

游戲規則:每人只能抓一次,只能抓取一段連續的紙團,所有紙團上的數字和就是你可以獲得的蒜幣。

蒜頭君作為蒜廠的一員在想,我怎么可以獲得最多的蒜幣呢?最多能獲取多少蒜幣呢?

因為年會是發獎,那么一定有大于?00?的紙團。

輸入格式

第一行輸入一個整數?nn,表示有?nn?個紙團。

第二行輸入輸入?nn?個整數?a_iai?,表示每個紙團上面寫的數字(這些紙團的輸入順序就是環形桌上紙團的擺放順序)。

輸出格式

輸出一個整數,表示蒜頭君最多能獲取多少蒜幣。

數據范圍

對于?30\%30%?的數據:1 \le n \le 10^2,-10^3 \le a_i \le 10^31n102,?103ai?103。

對于?60\%60%?的數據:1 \le n \le 5 \times 10^3,-10^6 \le a_i \le 10^61n5×103,?106ai?106。

對于?100\%100%?的數據:1 \le n \le 10^5,-10^9 \le a_i \le 10^91n105,?109ai?109。

樣例輸入

?3

1 -2 1

樣例輸出

2

題目來源

2019 藍橋杯省賽 B 組模擬賽(一)

?

?

分析: 求循環的連續最大和.

? ?循環好解決:? ?把數組首尾連成2n長的.

? 然后就是求長度不超過n的最大連續和.

? 一般求連續和 直接用前綴和,然后逐步做差即可.

?但是這兒有個限制,要求長度不超過n. 所以我們可以用優先隊列:

? 維護一個結構體?

?struct node {

  ll val;

? ? ? ?int index;

};

?根據index判斷一下長度是否超過n即可.

#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxn = 1e5+50;ll arr[maxn * 2];struct node {ll val;int index;bool operator < (const node &a) const {if (val != a.val) return val > a.val;return index > a.index;}node () {}node (ll vv, int ii) : val(vv), index(ii) {}
};int main() {ios::sync_with_stdio(false);int n;cin >> n;for (int i=0; i<n; ++i)cin >> arr[i];for (int i=n; i<2*n; ++i)arr[i] = arr[i-n];for (int i=1; i<2*n; ++i)arr[i] = arr[i] + arr[i-1];ll res = -8626213631111ll;ll tans;priority_queue<node> pq;for (int i=0; i<2 * n; ++i) {if (pq.empty()) tans = arr[i];if (tans > res) res = tans;while (!pq.empty()) {node tmp = pq.top();if (i - tmp.index >= n) {pq.pop();continue;} else {tans = arr[i] - tmp.val;break;}}if (tans > res) res = tans;pq.push({arr[i], i});}cout << res << endl;return 0;
}

?

轉載于:https://www.cnblogs.com/cgjh/p/10343581.html

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

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

相關文章

JS一維數組轉化為三維數組有這個方法就夠了

今天在CSDN上問答區看到一個提問的小伙伴&#xff0c;是想要將一維數組轉化為三位數組的需求&#xff0c;正好不是很忙&#xff0c;樂于助人的我立馬給這位同學安排上 下面是后端同學返給我們的一維數組數據格式 [{品牌: xiaomi, 機型: 10, 配置: 512},{品牌: xiaomi, 機型: 10…

Hadoop集群安裝

一、完全分布式模式的安裝和配置的具體步驟&#xff1a; 1.配置jdk&#xff1b;2.配置hosts文件&#xff1b;3.建立hadoop運行賬號&#xff1b;4.配置ssh免密碼連入&#xff1b; 5.下載并解壓hadoop安裝包&#xff1b;6.配置namenode&#xff0c;修改site文件&#xff1b;7.配置…

11系列

夢想這東西和經典一樣 永遠不會隨時間而褪色 反而更顯珍貴轉載于:https://www.cnblogs.com/tianjinquan/archive/2010/11/03/1867694.html

webpack相關配置

文章目錄&#x1f4a6; webpack的概念&#x1f4a6; webpack的基本使用項目目錄并初始化創建首頁及js文件以jQuery為例安裝jQuery導入jQuery安裝webpack&#x1f4a6; webpack的相關設置設置webpack的打包入口/出口設置webpack的自動打包配置html-webpack-pluginwebpack中的加載…

Day 21 20190205 老男孩python學習第21天 內容整理

今天寫作業&#xff0c;明天后天要在外旅游 寫作業寫了7個小時。 1 def read_file_as_dict(where):2 staff_dict {}3 f open(%s % where, mode"r", encodingutf-8)4 data f.read()5 f.close()6 row data.strip().split(\n)7 for staff i…

SCOM 簡單界面操作指南 [SCOM中文系列之三]

今天大概介紹下SCOM的管理界面&#xff0c;大概分三個重要的功能版塊 Monitoring 監控版面 Authoring &#xff08;中文版不知道翻譯成什么&#xff0c;主要編輯MP&#xff09; Administration 管理操作 首先說一下管理操作區&#xff0c;開始裝好的SCOM都需要來這里配置一下的…

趁著對象泡腳的功夫,我把vueX吃透了

文章目錄vueX&#x1f31f;Vuex的概述什么是vuexVuex管理數據的優點&#x1f31f;Vuex的基本使用步驟1.安裝 npm i vuex --save2.在src文件目錄下新建store>index.js文件3.口文件里面引入store&#xff0c;然后再全局注入4.使用&#x1f31f;Vuex中的核心特性State在組件中訪…

【題解】FBI序列

題目描述 兩伙外星人策劃在未來的XXXX年侵略地球&#xff0c;侵略前自然要交換信息咯&#xff0c;現在&#xff0c;作為全球保衛隊隊長&#xff0c;你截獲了外星人用來交換信息的一段僅由“F”&#xff0c;“B”&#xff0c;“I”&#xff0c;“O”組成的序列。為了保衛地球和平…

vue基礎(上篇)

?有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于vue的基礎篇\textcolor{blue}{ 有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于 vue的基礎篇}有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于vue的基礎篇 ? 今天他來了…

depends用于測試程序運行所缺少的文件,可以幫我們很快找到問題

DEPENDS工具和DUMPBIN工具使用閱讀目錄(Content) 1.Depends2.DUMPBIN2.1 開啟CMD2.2 移動目錄到C:\Program Files (x86)\Microsoft Visual Studio\VC98\Bin2.3 運行命令:VCVARS32.BAT2.4 下面就可以調用dumpbin.exe命令了在系統部署運行時我們經常發現某個程序在開發機器中可以…

友聯

歡迎來到小站友鏈區&#xff0c;歡迎━(&#xff40;?)ノ亻!。 ljc20020730學長巨佬_WA自動機珂朵莉最可愛了BLUESKY007雷姆最可愛啦揚子曰他的代碼是神奇的lukelin機房最強如果你想要成為chhokmah小站的朋友的話&#xff0c;請你先把小站加入為友鏈站喲(&#xff3e;&#xf…

vue基礎(中篇)

?有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于vue的基礎篇\textcolor{blue}{ 有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于 vue的基礎篇}有粉絲在私信中聯系博主&#xff0c;希望博主能夠系統的出一篇關于vue的基礎篇 ? 今天他來了…

DR圖像的畸變校正

DR圖像容易產生S形、枕形和局部失真的情況&#xff0c;這給醫生對圖像的判斷帶來干擾。而且在醫學圖像的三維重建中&#xff0c;未經校正的圖像進行重建&#xff0c;還會帶來一定的重影等干擾。因此&#xff0c;畸變校正是DR圖像進行后續處理&#xff0c;不得不對待的一個問題。…

【CF global1 D / CF1110D】 Jongmah

題意 你有n個數字&#xff0c;范圍[1, m]&#xff0c;你可以選擇其中的三個數字構成一個三元組&#xff0c;但是這三個數字必須是連續的或者相同的&#xff0c;每個數字只能用一次&#xff0c;問這n個數字最多構成多少個三元組? 分析 這里想談一下DP的一個套路&#xff0c;捆綁…

vue基礎(下篇)

介紹 對vue組件的介紹網上有很多大家可以自行查詢 組件 (Component) 是 Vue.js 最強大的功能之一 組件可以擴展 HTML 元素&#xff0c;封裝可重用的代 組件注冊 全局注冊 Vue.component(‘組件名稱’, { }) 第1個參數是標簽名稱&#xff0c;第2個參數是一個選項對象 全局組…

MS17-010漏洞復現

攻擊機&#xff1a;192.168.148.132 kali linux2018.2 x64 靶機&#xff1a;192.168.1.129 win7 x64 首先用msfconsole的smb模塊掃描&#xff0c;看看是否有漏洞 use auxiliary/scanner/smb/smb_ms17_010 set rhosts 192.168.1.129 &#xff08;目標主機&#xff09; Ho…

watch 和 computed

<template><div class"hello"><h1>{{ msg }}</h1><h2>Essential Links</h2><!-- watch/computed比較 --><div><input v-model"firstName" type"text"><input v-model"lastName&q…

[BZOJ]3173: [Tjoi2013]最長上升子序列

題解: 考慮按照元素升序加入 所以對位置在其后的元素LIS無影響 然后從前面位置的最大值轉移過來就行 ,,,,平衡樹無腦模擬 #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <vector> #include <s…

轉:HTTP協議簡介與在python中的使用詳解

1. 使用谷歌/火狐瀏覽器分析 在Web應用中&#xff0c;服務器把網頁傳給瀏覽器&#xff0c;實際上就是把網頁的HTML代碼發送給瀏覽器&#xff0c;讓瀏覽器顯示出來。而瀏覽器和服務器之間的傳輸協議是HTTP&#xff0c;所以&#xff1a; HTML是一種用來定義網頁的文本&#xff0c…

深受企業青睞的華為云

作為中國經濟活力與韌性的重要保障&#xff0c;無數中小企業也在為奪得各自領域的冠軍你追我趕。而席卷全球的數字化轉型浪潮&#xff0c;則將這場冠軍爭奪賽推向了關鍵節點。企業數字化的第一步就是業務云端化&#xff0c;對企業來說云計算是不可或缺的數字底座。上云&#xf…