2023河南萌新聯賽第(五)場:鄭州輕工業大學 --01分數規劃

題目描述

給定一個字符串 s,僅含 0, 1, ? 三種字符,你必須將所有?? 替換為 1 或 0 。

定義 s 的美好值為將所有?進行替換后,s的最長連續 1?或 0?的子串的長度。請你進行所有替換后,使得字符串 s?的美好值最大,請輸出這個美好值。

輸入描述:

本題包含多組數據第一行包含一個正整數 ,表示測試數據組數。對于每組數據:第一行包含一個正整數 ,表示字符串 sss 的長度。接下來一行一個字符串 s,描述如題目所示,。數據保證 。

輸出描述:

對于每組數據:輸出一行一個整數,代表字符串 s 的最大美好值。

鏈接:登錄—專業IT筆試面試備考平臺_牛客網
來源:牛客網
?

示例1

輸入

5
5
01110
1
0
4
01??
3
110
3
1??

輸出

3

1

3

2

3

思路:

這個題目也比較的簡單,我們將其中的?全部轉化成1和全部轉化成0分別O(n)遍歷找最長連續序列就可以

AC代碼:

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+10;
int a[N];
void solve(){int n;cin >> n;string s;cin >> s;string s1 = s,s2 = s;for(int i = 0;i < n;i++){if(s[i] == '?'){s1[i] = '0';s2[i] = '1';}}int maxx = 0;int cnt = 1;for(int i = 1;i < n;i++){if(s1[i] == s1[i - 1]){cnt++;}else{maxx = max(maxx,cnt);cnt = 1;}}maxx = max(maxx,cnt);cnt = 1;for(int i = 1;i < n;i++){if(s2[i] == s2[i - 1]){cnt++;}else{maxx = max(maxx,cnt);cnt = 1;}}maxx = max(maxx,cnt);cout << maxx << "\n";
}
int main()
{ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);int T = 1;cin >> T;while(T--){solve();}return 0;
}

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

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

相關文章

(二)結構型模式:1、適配器模式(Adapter Pattern)(C++實現示例)

目錄 1、適配器模式&#xff08;Adapter Pattern&#xff09;含義 2、適配器模式應用場景 3、適配器模式的UML圖學習 4、C實現適配器模式的示例 1、適配器模式&#xff08;Adapter Pattern&#xff09;含義 將一個接口轉換為客戶端所期待的接口&#xff0c;從而使兩個接口…

CompletableFuture

java8中新引入了批量線程處理類CompletableFuture CompletableFuture.allOf是與的關系, 每個都要執行完 CompletableFuture.anyOf是或的關系, 其中一個執行完 以下示例代碼: CompletableFuture.allOf(CompletableFuture.runAsync(() -> {Thread.currentThread().setName(&q…

js常用的方法函數

JavaScript 中有許多常用的內置方法和函數&#xff0c;用于處理字符串、數組、對象、日期等不同類型的數據。以下是一些常見的 JavaScript 方法和函數&#xff1a; 字符串操作&#xff1a; str.length: 返回字符串的長度。 str.charAt(index): 返回指定位置的字符。 str.indexO…

Mac安裝nvm教程及使用

nvm 是 node 版本管理器&#xff0c;也就是說一個 nvm 可以管理多個 node 版本&#xff08;包含 npm 與 npx&#xff09;&#xff0c;可以方便快捷的安裝、切換 不同版本的 node。 1、直接通過brew安裝 執行命令&#xff1a;brew install nvm PS&#xff1a; 如果沒有安裝br…

Golang - 生成和讀取toml文件

代碼示例&#xff1a; package mainimport ("fmt""github.com/pelletier/go-toml""os""path" )func CreateToml(tomlPath string) {tree, err : toml.Load("")if err ! nil {fmt.Println("Error while creating empt…

Oracle database 靜默安裝 oracle 11g 一鍵安裝

基于oracle安裝包中應答文件實現一鍵安裝 支持環境&#xff1a; Linux &#xff1a;centerOS 7 oracle &#xff1a;11.2.0 Oracle應答文件 runInstaller應答文件 /database/response/db_install.rsp netca應答文件 /database/response/netca.rsp dbca應答文件 /database/re…

小程序保留2位小數據,不四舍五入

方法1&#xff1a; parseInt toFixed /* * 保留2位小數&#xff0c;不四舍五入 * 5.992550 >5.99 , 2 > 2.00 * */ const toFixed2Decimal (value) > {return (parseInt(value*100)/100).toFixed(2) } console.log(587.67*100) console.log(toFixed2Decimal(587.67…

python中的運算符號含義,python基本運算符的操作

本篇文章給大家談談python的運算符號有哪些類型&#xff0c;以及python各運算符號的功能說明&#xff0c;希望對各位有所幫助&#xff0c;不要忘了收藏本站喔。 1.算數運算符&#xff08;最常見的&#xff09; 標準算數運算符&#xff08;加減乘除&#xff09; 取余運算…

(provider: SSL Provider, error: 0 - 證書鏈是由不受信任的頒發機構頒發的。)

問題描述 NET6 Code First 使用Update-database時 報錯&#xff1a;A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - 證書鏈是由不受信任的頒發機構頒發的。) 解決方…

UML-狀態圖

目錄 狀態圖 狀態圖的圖符 狀態機 狀態 ?轉換 電話機狀態圖 活動圖和狀態圖區別&#xff1a; 狀態圖 狀態圖(Statechart Diagram)是描述一個實體基于事件反應的動態行為&#xff0c;顯示了該實體如何根據當前所處的狀態對不同的事件做出反應。通常我們創建一個UML狀態…

Jmeter設置中文的兩種方式,建議使用第二種

方案一 進入jmeter圖像化界面&#xff0c;選擇Options下的Choose Language&#xff0c;再選擇Chinese(Simplified)。這個就是選擇語言為簡體中文&#xff08;缺陷&#xff1a;這個只是在本次使用時為中文&#xff0c;下次打開默認還是英文的&#xff09; 方案二&#xff08;…

Mybatis框架

Mybatis框架 Mybatis的含義&#xff1a;Mybatis框架是一個持久層框架&#xff0c;幾乎解決了jdbc代碼在手動設置參數和對結果集的手動獲取問題&#xff0c;原本是apache公司的開源項目&#xff0c;最后轉給Google公司。Mybatis會將參數封裝在一個對象中傳遞給數據庫&am…

數學建模(二)線性規劃

課程推薦&#xff1a;6 線性規劃模型基本原理與編程實現_嗶哩嗶哩_bilibili 目錄 一、線性規劃的實例與定義 1.1 線性規劃的實例 1.2 線性規劃的定義 1.3 最優解 1.4 線性規劃的Mathlab標準形式 1.5 使用linprog函數 二、線性規劃模型建模實戰與代碼 2.1 問題提出 2.2…

機器學習深度學習——seq2seq實現機器翻譯(詳細實現與原理推導)

&#x1f468;?&#x1f393;作者簡介&#xff1a;一位即將上大四&#xff0c;正專攻機器學習的保研er &#x1f30c;上期文章&#xff1a;機器學習&&深度學習——seq2seq實現機器翻譯&#xff08;數據集處理&#xff09; &#x1f4da;訂閱專欄&#xff1a;機器學習&…

機器學習編譯系列

機器學習編譯MLC 1. 引言2. 機器學習編譯--概述2.1 什么是機器學習編譯 1. 引言 陳天奇目前任教于CMU&#xff0c;研究方向為機器學習系統。他是TVM、MXNET、XGBoost的主要作者。2022年夏天&#xff0c;陳天奇在B站開設了《機器學習編譯》的課程。 ??《機器學習編譯》課程共分…

立即開始使用 3D 圖像

一、說明 這個故事介紹了使用這種類型的數據來訓練機器學習3D模型。特別是&#xff0c;我們討論了Kaggle中可用的MNIST數據集的3D版本&#xff0c;以及如何使用Keras訓練模型識別3D數字。 3D 數據無處不在。由于我們希望構建AI來與我們的物理世界進行交互&#xff0c;因此使用3…

了解 Langchain?是個啥?:第 1 部分

一、說明 在日常生活中&#xff0c;我們主要致力于構建端到端的應用程序。我們可以使用許多自動 ML 平臺和 CI/CD 管道來自動化 ml 管道。我們還有像Roboflow和Andrew N.G.的登陸AI這樣的工具來自動化或創建端到端的計算機視覺應用程序。 如果我們想在OpenAI或擁抱臉的幫助下創…

Day 26 C++ list容器(鏈表)

文章目錄 list基本概念定義結構雙向迭代器優點缺點List和vector區別存儲結構內存管理迭代器穩定性隨機訪問效率 list構造函數——創建list容器函數原型示例 list 賦值和交換函數原型 list 大小操作函數原型示例 list 插入和刪除函數原型示例 list 數據存取函數原型注意示例 lis…

論文詳解 ——《SNR-Aware Low-light Image Enhancement》

文章目錄 Abstract1.Introduction2. Related Work3. Our Method3.1 Long- and Short-range Branches3.2 SNR-based Spatially-varying Feature Fusion3.3 SNR-guided Attention in Transformer3.4 Loss Function 4. Experiments4.1. Datasets and Implementation Details4.2 Co…

SpringBoot | 使用newWorkStealingPool和CompletableFuture進行并發異步處理

關注wx&#xff1a; CodingTechWork 需求 一個列表操作需要異步處理每個元素&#xff0c;最終需要將列表各個元素的操作結果統一返回&#xff0c;無需關注該列表中的順序執行。這個線程池不會保證任務的順序執行&#xff0c;即為WorkStealing搶占式的工作。 開發模板 線程池…