題目鏈結
有 n 個方塊排成一排,每個方塊都染有顏色,第 i 個的顏色為 ci,一共有三種顏色,分別為紅,黃,藍,現在你可以對相鄰的顏色不同的方塊進行施法,使其變成第三種顏色,比如對相鄰的紅方塊和黃方塊進行施法,就會使其合併為藍方塊。施法順序的不同,可能對最終的結果產生不同的影響,問在最優策略下,最少能剩下多少個方塊。
t 組資料。
每組資料一行,將方塊序列用字串形式給出,a,b,c 表示三種不同顏色的方塊。
t <= 10
1 <= n <= 500
每組資料乙個整數,表示答案。
輸入abc
輸出可以將 a,b,c 分別用 1,2,3 表示,先判斷 n 個數是否相同,若都相同,則輸出 n,不然的話,就判斷這 n 個數的異或後所得到的值是否為 0,若為 0,則輸出 2,反之,輸出 1。
#include
using
namespace std;
intmain()
if(sum==
(s[0]-
'a'+1)
*n)else
else}}
return0;
}
方塊 III 線段樹 思維
這題並不難,主要就是要想到,怎麼才可以做到將相同的數字給分開來,而方法就是將最開始出現的數字,和上乙個這個數字出現的位置之間,全部加上價值,而上乙個這樣的位置,減去價值。就這樣一直到n,最大的那個t 1 便是答案了,有點dp的感覺,但不是。include include include includ...
牛客每日練習 方塊 I,方塊 II,子串行
有 n 個方塊排成一排,每個方塊都染有顏色,第 i 個的顏色為 ci,一共有三種顏色,分別為紅,黃,藍,現在你可以對相鄰的顏色不同的方塊進行施法,使其變成第三種顏色,比如對相鄰的紅方塊和黃方塊進行施法,就會使其合併為藍方塊。施法順序的不同,可能對最終的結果產生不同的影響,問在最優策略下,最少能剩下多...
思維題合集
三個陣列,每個都是1到n的排列,定義為good pair,當且僅當,在三個陣列中,i和j的相對關係一樣。給出三個陣列,求good pair的數目。sample input sample output 42 3 1 4 2 1 4 3 2 4 3 1 3先考慮兩兩陣列,可以通過以一組為基準 rank,...