切割01串(牛客小白月賽98)

題意:

給三個整數n,l,r,和一個字符串s,滿足l<=|c0-c1|<=r就可以切成字符串a和字符串b,c0為字符串a左側出現0的次數,c1為字符串b右側出現1的次數,求最多切割次數

知識點:區間dp

分析:先用前綴和求出數組c1和c0,假設我們在k點進行切割,就可以每次更新dp[l][r],先算出左區間[l,k]的0的個數為c00=c0[k]-c0[l-1],算出右區間[k+1,r]的1的個數為c11=c1[r]-c1[k],符合條件的每次更新區間dp,核心代碼dp[l][r]=max(dp[l][r],1+dp[l][k]+dp[k+1][r])。

#include<bits/stdc++.h>
using namespace std;
int dp[510][510],c0[510],c1[510];
int main(){
?? ?int n,L,R;cin>>n>>L>>R;string s;cin>>s;
?? ?for(int i=1;i<=n;i++){
?? ??? ?c1[i]=c1[i-1];
?? ??? ?c0[i]=c0[i-1];
?? ??? ?if(s[i-1]=='1')c1[i]++;
?? ??? ?else c0[i]++;
?? ?}
?? ?for(int len=1;len<=n;len++){
?? ??? ?for(int l=1;l<=n;l++){
?? ??? ??? ?int r=l+len-1;
?? ??? ??? ?if(r>n)break;
?? ??? ??? ?for(int k=l;k<r;k++){
?? ??? ??? ??? ?int c00=c0[k]-c0[l-1];
?? ??? ??? ??? ?int c11=c1[r]-c1[k];
?? ??? ??? ??? ?if(abs(c00-c11)>=L&&abs(c00-c11)<=R){
?? ??? ??? ??? ??? ?dp[l][r]=max(dp[l][r],dp[l][k]+dp[k+1][r]+1);
?? ??? ??? ??? ?}
?? ??? ??? ?}
?? ??? ?}
?? ?}
?? ?cout<<dp[1][n];
}

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

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

相關文章

Onnx 1-深度學習-概述1

Onnx 1-深度學習-概述1 一: Onnx 概念1> Onnx 介紹2> Onnx 的作用3> Onnx 應用場景4> Onnx 文件格式1. Protobuf 特點2. onnx.proto3協議3> Onnx 模型基本操作二:Onnx API1> 算子詳解2> Onnx 算子介紹三: Onnx 模型1> Onnx 函數功能

昇思學習打卡-8-計算機視覺/FCN圖像語義分割

目錄 FCN介紹FCN所用的技術訓練數據的可視化模型訓練模型推理FCN的優點和不足優點不足 FCN介紹 FCN主要用于圖像分割領域&#xff0c;是一種端到端的分割方法&#xff0c;是深度學習應用在圖像語義分割的開山之作。通過進行像素級的預測直接得出與原圖大小相等的label map。因…

【C++基礎】初識C++(2)--引用、const、inline、nullptr

目錄 一、引用 1.1 引用的概念和定義 1.2 引用的特性 1.3引用的使用 1.4 const引用 1.5 指針和引用的關系 二、inline 三、nullptr 一、引用 1.1 引用的概念和定義 引?不是新定義?個變量&#xff0c;?是給已存在變量取了?個別名&#xff0c;編譯器不會為引?…

微軟的人工智能語音生成器在測試中達到與人類同等水平

微軟公司開發了一種新的神經編解碼語言模型 Vall-E&#xff0c;在自然度、語音魯棒性和說話者相似性方面都超越了以前的成果。它是同類產品中第一個在兩個流行基準測試中達到人類同等水平的產品&#xff0c;而且顯然非常逼真&#xff0c;以至于微軟不打算向公眾開放。 VALL-E …

Node.js 模塊系統

Node.js 模塊系統 Node.js 的模塊系統是其核心特性之一,它允許開發者將代碼組織成可重用的模塊。這種系統促進了代碼的模塊化,使得大型應用程序的構建和管理變得更加容易。本文將深入探討 Node.js 的模塊系統,包括其工作原理、如何創建和使用模塊,以及模塊系統的優勢和局限…

【每日一練】python類和對象現實舉例詳細講解

""" 本節課程目的&#xff1a; 1.掌握類描述現實世界實物思想 2.掌握類和對象的關系 3.理解什么事面向對象 """ #比如設計一個鬧鐘&#xff0c;在這里就新建一個類 class Clock:idNone #鬧鐘的序列號&#xff0c;也就是類的屬性priceNone #鬧…

Git最常用操作速查表

Git常用操作 文章目錄 Git常用操作1. 克隆/拉取2. 分支操作1. 查看分支2. 創建分支3. 切換到分支4. 刪除分支5. 刪除遠程分支6. 推送分支到遠程 3. 暫存庫操作4. Git團隊規范1. 原則2. 分支設計3. commit備注一般規范 1. 克隆/拉取 git clone xxx 從遠程倉庫克隆 git rebase…

【開源之美】:WinMerge Files

一、引言 強大的windows端文件比較工具&#xff0c;跟Beyond Compare相比&#xff0c;更為強大。但是這里我們推薦他的原因&#xff0c;不僅是因為作為一個使用的工具&#xff0c;主要是因為他開源&#xff0c;可以通過調試優秀的源代碼&#xff0c;進一步的提升C項目設計和編…

Alternative to Receptive field in Transformers and what factors impact it

題意&#xff1a;Transformer中感受野的替代概念及其影響因素 問題背景&#xff1a; I have two transformer networks. One with 3 heads per attention and 15 layers in total and second one with 5 heads per layer and 30 layers in total. Given an arbitrary set of d…

什么是數據模型?數據模型與數據治理有什么關系?

在企業數據治理的廣闊領域中&#xff0c;首要且關鍵的一步是明確溝通數據治理的需求。這包括對企業所持有的數據種類、數據存儲位置、以及當前數據管理的具體情況有一個清晰的了解和記錄。了解企業的數據資產是制定有效數據治理策略的基礎。企業需要識別和盤點所有類型的數據資…

AIGC產品經理學習路徑

基礎篇&#xff08;課時 2 &#xff09; AIGC 行業視角 AIGC 的行業發展演進&#xff1a;傳統模型/深度學習/大模型 AIGC 的產品設計演進&#xff1a;AI Embedded / AI Copilot / AI Agen AIGC 的行業產業全景圖 AIGC 的產品應用全景圖 AIGC 職業視角 AI 產品經理/ AIGC…

2974.最小數字游戲

1.題目描述 你有一個下標從 0 開始、長度為 偶數 的整數數組 nums &#xff0c;同時還有一個空數組 arr 。Alice 和 Bob 決定玩一個游戲&#xff0c;游戲中每一輪 Alice 和 Bob 都會各自執行一次操作。游戲規則如下&#xff1a; 每一輪&#xff0c;Alice 先從 nums 中移除一個 …

Spring MVC 全面指南:從入門到精通的詳細解析

引言&#xff1a; Spring MVC&#xff0c;作為Spring框架的一個重要模塊&#xff0c;為構建Web應用提供了強大的功能和靈活性。無論是初學者還是有一定經驗的開發者&#xff0c;掌握Spring MVC都將顯著提升你的Web開發技能。本文旨在為初學者提供一個全面且易于理解的學習路徑…

數據建設實踐之大數據平臺(五)安裝hive

安裝hive 上傳安裝包到/opt/software目錄并解壓 [bigdata@node101 software]$ tar -zxvf hive-3.1.3-with-spark-3.3.1.tar.gz -C /opt/services [bigdata@node101 services]$ mv apache-hive-3.1.3-bin apache-hive-3.1.3 配置環境變量 export JAVA_HOME=/opt/services…

Debezium系列之:驗證mysql、mariadb等兼容mysql協議數據庫賬號權限

Debezium系列之:驗證mysql、mariadb等兼容mysql協議數據庫賬號權限 一、數據庫需要開啟binlog二、創建賬號和賬號需要賦予的權限三、賬號具有權限查看日志信息四、驗證賬號權限五、驗證賬號能否執行show master status六、驗證數據庫是否開啟binlog一、數據庫需要開啟binlog …

實驗9 存儲過程與函數的創建管理實驗

一、實驗目的&#xff1a; 理解存儲過程和函數的概念。掌握創建存儲過程和函數的方法。掌握執行存儲過程和函數的方法。掌握游標的定義、使用方法。 二、實驗內容 1&#xff0e;某超市的食品管理的數據庫的Food表&#xff0c;Food表的定義如表所示&#xff0c; Food表的定義…

【進階篇-Day8:JAVA中遞歸、異常的介紹】

目錄 1、遞歸的介紹和使用1.1 遞歸的介紹1.2 案例案例一&#xff1a;案例二&#xff1a;案例三&#xff1a;案例四&#xff1a; 1.3 總結 2、異常的介紹和使用2.1 異常的介紹&#xff1a;&#xff08;1&#xff09;能夠看懂異常&#xff08;2&#xff09;異常的體系接口和分類&…

Go語言map并發安全,互斥鎖和讀寫鎖誰更優?

并發編程是 Go 語言的一大特色&#xff0c;合理地使用鎖對于保證數據一致性和提高程序性能至關重要。 在處理并發控制時&#xff0c;sync.Mutex&#xff08;互斥鎖&#xff09;和 sync.RWMutex&#xff08;讀寫鎖&#xff09;是兩個常用的工具。理解它們各自的優劣及擅長的場景…

蘋果入局,AI手機或將實現“真智能”?

【潮汐商業評論/原創】 “AI應用智能手機不就是現在的AI手機。” 當被問到現階段對AI手機的看法時&#xff0c;John如是說。“術業有專攻&#xff0c;那么多APP在做AI功能&#xff0c;下載用就是了&#xff0c;也用不著現在換個AI手機啊。” 對于AI手機&#xff0c;或許大多…

上海市計算機學會競賽平臺2023年1月月賽丙組積木染色(二)

題目描述 &#x1d45b;n 塊積木排成一排&#xff0c;需要給每塊積木染色&#xff0c;顏色有 &#x1d45a;m 種。請問有多少種方法&#xff0c;從第二塊積木開始統計&#xff0c;恰有 &#x1d45d;p 塊積木與前一塊積木顏色不同&#xff1f; 輸入格式 三個整數分別表示 &a…