第六屆藍橋杯(國賽) 切開字串

2021-10-08 19:33:13 字數 1216 閱讀 6379

問題描述

pear 有乙個字串,不過他希望把它切成兩段,這是乙個長度為 n 的字串。

pear 希望選擇乙個位置,把字串不重複不遺漏地切成兩段,長度分別是 t 和 n-t(這兩段都必須非空)。

pear 用如下方式評估切割的方案:

定義「正回文子串」為:長度為奇數的回文子串。

設切成的兩段字串中,前一段中有 a 個不相同的正回文子串,後一段中有 b 個不相同的非正回文子串,則該方案的得分為 a * b。

注意,後一段中的 b 表示的是:「…非正回文…」,而不是: 「…正回文…」。

那麼所有的切割方案中,a * b 的最大值是多少呢?

輸入格式

輸入第一行乙個正整數 n。

接下來一行乙個字串,長度為 n,該字串僅包含小寫英文本母。

輸出格式

一行乙個正整數,表示所求的 a * b 的最大值。

樣例輸入

10bbaaabcaba

樣例輸出

38資料範圍

對於 20% 的資料,n ≤ 100

對於 40% 的資料,n ≤ 1000

對於 100% 的資料,n ≤ 105

題解:

非正回文子串

不是回文子串

是回文子串,但長度為偶數

#include

#include

#include

#include

#include

using

namespace std;

bool

judge

(string x)

// 判斷是否回文

intcnt_1

(string a)

// 統計前半段

return s1.

size()

;}intcnt_2

(string b)

// 統計後半段

return s2.

size()

;}intmain()

cout << ans << endl;

return0;

}

藍橋杯題目 第六屆

如 圖1 所示。圖中的所有小方格面積都是1。那麼,圖中的三角形面積應該是多少呢?請填寫三角形的面積。不要填寫任何多餘內容或說明性文字。割補法 28 觀察下面的現象,某個數字的立方,按位累加仍然等於自身。1 3 1 8 3 512 5 1 2 8 17 3 4913 4 9 1 3 17 請你計算包括...

藍橋杯 第六屆省賽 溫度器

實驗平台 ct107d 實驗晶元 stc15f2k60s2 實驗現象 完成題目要求 如下 include stc15f2k60s2.h sbit dq p1 4 單匯流排介面 單匯流排延時函式 void delay onewire unsigned int t stc89c52rc 通過單匯流排向d...

第六屆藍橋盃國賽C B組 密文搜尋

福爾摩斯從x星收到乙份資料,全部是小寫字母組成。他的助手提供了另乙份資料 許多長度為8的密碼列表。福爾摩斯發現,這些密碼是被打亂後隱藏在先前那份資料中的。請你編寫乙個程式,從第乙份資料中搜尋可能隱藏密碼的位置。要考慮密碼的所有排列可能性。資料格式 輸入第一行 乙個字串s,全部由小寫字母組成,長度小於...