相鄰不同數字的標記

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

時間限制:C/C++ 1秒,其他語言2秒
空間限制:C/C++ 262144K,其他語言524288K
64bit IO Format: %lld

題目描述

小紅拿到了一個數組,每個數字被染成了紅色或藍色。

小紅有很多次操作,每次操作可以選擇兩個相鄰的不同顏色的數字標記,并獲得它們數字之和的得分。已經被標記的數字無法再次標記。
小紅想知道,自己最多能獲得多少分。

輸入描述:

第一行輸入一個正整數 nnn ,代表數組的長度。
第二行輸入 nnn 個正整數 aia_iai?,代表小紅拿到的數組。

第三行輸入一個僅包含 'R' 和 'B' 的字符串,第 iii 個字符為 'R' 代表數組第 iii 個數被染成紅色,'B'代表被染成藍色。

1≤n≤1051\leq n \leq 10^51≤n≤105

1≤ai≤1091\leq a_i \leq 10^91≤ai?≤109

輸出描述:

輸出一個整數,表示小紅最多能獲得的分值。

示例1

輸入

復制5 1 3 2 6 5 BRRBB

5
1 3 2 6 5
BRRBB

輸出

復制12

12

說明

第一次選擇標記第一個數和第二個數,標記的數是1和3。
第二次選擇標記第三個數和第四個數,標記的數是2和6。
總得分為1+3+2+6=12

看到求最大又是一個不可排序的段,馬上想到用dp寫,寫dp走dp五部曲。

1.確定dp數組的含義

這道題目的dp數組的含義比較好看出來,dp【i】就是前i個可取的情況下能取到的最大值。dp數組一般比較簡單的就是直接去看題目要求的是什么。

2.確定遞推公式

由于第i項可以由前面的i-1項和i-2項推出來,dp[i]=max(dp[i-1],dp[i-2]+a[i-1]+a[i]),有些同學可能沒法理解到,其實就是第i項的前一項選和不選,應為每次會加上兩個數值。

3.初始化dp數組

dp【0】就是0,1項啥都沒有嘛,dp【1】是在第一的第二項顏色不同時前兩項數值的相加。其余項都初始化為0。

4.確定遍歷順序

后面的值都是由前面的推出來,就是由前向后遍歷。

5.打印dp數組

如果答案不對打印dp數組檢查。

#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<string>
#include<vector>
#include<math.h>
#include<iomanip>
#include<set>
#include<queue>
#include<stack> 
#include<map>
#include<list>
#include <stdlib.h>
#include<deque>
#include <stdlib.h>
#include <time.h>
#include<cstdlib>
using namespace std;
long long n, a[1000000];
string c;
long long dp[1000000];
int main()
{cin >> n;for (int i = 0; i < n; i++){cin >> a[i];}cin >> c;dp[0] = 0;if (c[0] != c[1]){dp[1] = a[0] + a[1];}for (int i = 2; i < n; i++){if (c[i] != c[i - 1]){dp[i] = max(dp[i - 1], dp[i - 2] + a[i] + a[i - 1]);}else{dp[i] = dp[i - 1];}}cout << dp[n - 1];
}

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

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

相關文章

ctfshow web入門 nodejs web334--web337

web334 有個文件下載之后改后綴為zip加壓就可以得到兩個文件 一個文件類似于index.php 還有一個就是登錄密碼登錄成功就有flag username:ctfshow password:123456因為 return name!CTFSHOW && item.username name.toUpperCase() && item.password passwor…

SpringBoot的熱部署和日志體系

SpringBoot的熱部署 每次修改完代碼&#xff0c;想看效果的話&#xff0c;不用每次都重新啟動代碼&#xff0c;等待項目重啟 這樣就可以了 JDK官方提出的日志框架&#xff1a;Jul log4j的使用方式&#xff1a; &#xff08;1&#xff09;引入maven依賴 &#xff08;2&#x…

軟件開發語言都有哪些?

構建高效、穩定且安全的服務器應用&#xff0c;開發者們需要選擇合適的編程語言。以下是幾種流行的網絡服務器開發語言&#xff0c;每種語言都有其獨特的特性和適用場景。 Java Java是一種廣泛使用的高級編程語言&#xff0c;以其“一次編寫&#xff0c;到處運行”的理念而著稱…

光譜優化算法(Lightning Search Optimization, LSO)及其Python和MATLAB實現

光譜優化算法&#xff08;Lightning Search Optimization, LSO&#xff09;是一種基于自然界雷暴現象啟發的新型優化算法&#xff0c;旨在尋找最優解或近似最優解的問題。LSO算法不僅可以用于連續優化問題&#xff0c;還能用于離散優化問題。接下來將詳細介紹LSO算法的背景、原…

內鏡像源-大全

1、pip安裝鏡像 阿里鏡像 https://developer.aliyun.com/mirror/ 清華大學開源軟件鏡像 https://mirrors.tuna.tsinghua.edu.cn/ 浙大鏡像源 http://mirrors.zju.edu.cn/ 網易鏡像源 https://mirrors.163.com/ sohu鏡像源 https://mirrors.sohu.com/ 中科大鏡像 https://mirr…

OS Copilot測評-CSDN

登錄控制臺 安裝插件 sudo yum install -y os-copilot效果如下 配置 AccessKey ID 與 AccessKey Secret 注意安全&#xff0c;使用完成后&#xff0c;別忘了去控制臺刪除&#xff0c;一般情況使用子Key就可以 檢測是否可用 co hi實際操作(當前為官方案例請求) 實操1&…

RoPE 旋轉位置編碼,詳細解釋(下)NLP 面試的女生徹底說明白了

RoPE 旋轉位置編碼&#xff0c;詳細解釋&#xff08;下&#xff09;NLP 面試的女生徹底說明白了 原創 看圖學 看圖學 2024年07月01日 07:55 北京 書接上文&#xff0c;上文見&#xff1a;這么解釋 RoPE 旋轉位置編碼&#xff0c;女朋友睜大了雙眼&#xff08;上&#xff09; …

C++ explicit 用法

一、概述 explicit關鍵字用于防止構造函數或轉換操作符在不明確的情況下被隱式調用&#xff0c;從而避免意外的類型轉換。這在類的設計中非常有用&#xff0c;可以增強代碼的可讀性和安全性。 二、用法示例 1. 用于構造函數 假設有一個簡單的類 A&#xff1a; class A { p…

metersphere鏈接騰訊郵箱步驟

1、打開騰訊郵箱生成授權碼 路徑&#xff1a;設置-賬戶-賬戶安全 生成的授權碼只會展示1次&#xff0c;注意保存 2、在系統設置-系統參數設置-郵件設置填寫授權碼和SMTP信息 SMTP信息在郵箱的客戶端設置中可以獲取到對應的信息 3、信息填寫完后&#xff0c;可以測試連接&…

python中TensorFlow框架的簡單深度學習項目圖像分類示例

??引言 &#x1f44d;&#x1f44d;點關注編程夢想家&#xff08;大學生版&#xff09;-CSDN博客不迷路?? 這個示例項目使用了CIFAR-10數據集&#xff0c;這是一個包含10個類別的60,000張32x32彩色圖像的數據集&#xff0c;類別包括飛機、汽車、鳥類等。模型是一個簡單的…

Pytest單元測試系列[v1.0.0][高級技巧]

playwright結合pytest使用 安裝配置環境 PS D:\Programs\Python\com.davieyang.demo> pip install pytest-playwright Collecting pytest-playwrightDownloading pytest_playwright-0.3.0-py3-none-any.whl (10 kB) Requirement already satisfied: pytest in c:\program …

集成sa-token前后端分離部署配置corsFliter解決跨域失效的真正原因

文章目錄 1.前言2.問題復現3.解決方法3.1 方式一&#xff1a;后端修改CorsFilter源碼3.2 方式二&#xff1a;前端禁用或移除瀏覽器referrer-policy引用者策略 4.總結 1.前言 緣由請參看下面這篇文章&#xff1a;sa-token前后端分離解決跨域的正確姿勢 https://mp.weixin.qq.co…

桌面記筆記的軟件:能加密的筆記app

在日常生活和工作中&#xff0c;很多人都有記筆記的習慣。無論是記錄會議要點、學習心得&#xff0c;還是生活中的點滴靈感&#xff0c;筆記都是我們不可或缺的好幫手。然而&#xff0c;傳統的紙筆記錄方式逐漸不能滿足現代人的需求&#xff0c;因為紙質筆記不易保存、查找困難…

STM32 - SPI硬件外設

配合我的上一篇SPI ??????通信 協議-CSDN博客一起理解更佳&#xff0c;本文后看 SPI 是由摩托羅拉(Motorola)公司開發的全雙工同步串行總線&#xff0c;是 MCU 和外圍設備之間進行通信的同步串行端口。主要應用在EEPROM、Flash、RTC、ADC、網絡控制器、MCU、DSP以及數字信…

網上怎么樣可以掙錢,分享幾種可以讓你在家賺錢的兼職項目

當今社會&#xff0c;壓力越來越大&#xff0c;工作、家庭、生活等等&#xff0c;方方面面都需要錢&#xff0c;僅靠一份工作賺錢&#xff0c;已經很難滿足我們的需求。所以很多人都會嘗試做一些副業&#xff0c;兼職來補貼家用。 現在呢&#xff0c;有很多人都想在網上賺錢&am…

微型導軌如何提升數控機床的穩定性?

數控機床是加工設備中常用的機床&#xff0c;精度和穩定性是衡量數控機床性能的重要指標。而微型導軌作為數控機床中重要的傳動元件&#xff0c;數控機床與其具體結構性能是密不可分的&#xff0c;那么微型導軌如何提高數控機床的穩定性呢&#xff1f; 1、微型導軌通過采用先進…

githup開了代理push不上去

你們好&#xff0c;我是金金金。 場景 git push出錯 解決 cmd查看 git config --global http.proxy git config --global https.proxy 如果什么都沒有&#xff0c;代表沒設置全局代理&#xff0c;此時如果你開了代理&#xff0c;則執行如下&#xff0c;設置代理 git con…

關于SQL NOT IN判斷失效的情況記錄

1.準備測試數據 CREATE TABLE tmp_1 (val integer);CREATE TABLE tmp_2 (val integer, val2 integer);INSERT INTO tmp_1 (val) VALUES (1); INSERT INTO tmp_1 (val) VALUES (2); INSERT INTO tmp_2 (val) VALUES (1); INSERT INTO tmp_2 (val, val2) VALUES (NULL,0);2.測…

掃地機器人工作原理

掃地機器人的工作原理主要可以歸納為以下幾個步驟&#xff1a; 一、啟動與建圖 掃地機器人開機后&#xff0c;通常會從充電底座啟動。使用激光導航或視覺導航技術的掃地機器人會開始掃描周圍環境&#xff0c;繪制室內地圖。激光導航的掃地機器人通過激光發射器和接收器測量機…

數據無憂:Ubuntu 系統遷移備份全指南

嘮嘮閑話 最近電腦出現了一些故障&#xff0c;送修期間&#xff0c;不得不在實驗室的臺式機上重裝系統&#xff0c;配環境的過程花費了不少時間。為避免未來處理類似事情時耗費時間&#xff0c;特此整理一些備份策略。 先做以下準備&#xff1a; U盤啟動盤&#xff0c;參考 …