\(核心思路就是分情況討論\)
從整體上對題目進行分析,此題共有三種情況:
(1)0
有一方為0,則結果為另一方的max;
兩方都為0,則結果為0;
(2)一方多,另一方不夠用,滿足\((contx+1)*maxo<=counto\)
或則\((conto+1)*maxx<=countx\)
結果為:\((contx+1)*maxo+counto\) (x不夠用)
或則\((cont0+1)*maxx+counto\) (o不夠用)
也即,不夠用的一方即使每次只取乙個作為分隔符都不夠用的。
比如,20 5 2 2
則最長的超級優美無敵串為:ooxooxooxooxooxoo
(3)其它情況,則結果為 maxn+maxm
除去(1)(2)兩種特殊情況,則其他情況中所有的字母都可以用上。
比如8 6 3 2
則最長的超級優美無敵串為:oooxxoooxxooxx
\(我的理解是這樣的\)
\(首先明確一點,最長的串長為maxx+maxo\)
\(而且這是兩種字母剛好用完的情況\)
\(那我們先考慮一方不夠用的情況\)
\(也就是把少的那個字母每次只用乙個作為分隔符依然不夠用\)
\(此時少的字母全部用完,多的字母是最大分割數,肯定最優\)
\(特殊的,可能存在一方為0的情況,特判\)
\(其餘情況可以全部用完,為maxx+maxo\)
#include using namespace std;
int main()
return 0;
}
P1032 字串變換 字串
已知有兩個字串 a,b 及一組字串變換的規則 至多6個規則 a1 b1 a2 b2 規則的含義為 在 a 中的子串 a1 可以變換為 b1 a2 可以變換為 b2 例如 a abcd b xyz 變換規則為 abc xu ud y y yz 則此時,a 可以經過一系列的變換變為 b,其變換的過程為 ...
ORACLE in 字串,字串,字串
因為傳進來的引數是 字串,字串,字串,要實現in 字串,字串,字串 select from htl price p where p.hotel id 30073328 and p.able sale date between to date 2009 03 27 yyyy mm dd and to ...
字串 P2031 腦力達人之分割字串
題目背景 好吧,該來的廢話還是要來的。畫外音 終於,在兩輪的重重選拔之後,我們的海選終於結束了。現在進入我們的迴圈賽環節。循壞賽一共有四場,最後選出得分最高的16人進入對決,得分相同則和按用時排名,若仍有不能確定16人的情況,則去尾處理。歡迎您收看有洛谷衛視重磅推出的綜合性文藝知識類節目 開心玩遊戲...