日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

九度OJ 重复子串

發布時間:2025/6/15 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 九度OJ 重复子串 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述:

給定一個由小寫字母組成的字符串,求它的所有連續子串中,出現過至少兩次,且至少有一對出現的重復子串是不重合的連續子串個數。
如給定字符串aaaa,aa和a,符合條件,aaa不符合條件(出現重合),故答案為2。

?

輸入:

輸入包含多組測試用例,每組測試用例包含一個字符串,由小寫字母組成,其長度不大于1000。

?

輸出:

對于每組測試數據,輸出一個整數,代表符合條件的子串個數。

?

樣例輸入:
aaaa aaa
樣例輸出:
2 1剛開始的時候,想到遍歷每個字符子串,比如從位置1開始,依次遍歷長度從1到n的子串,需要N^2。然后從位置2開始,依次遍歷長度從1到n的子串,需要N^2。如果依次遍歷完,總共O(N^3).字符串最長為1000,明顯超過10^7數量級。就沒有向下思考。 但是,仔細觀察題目要求,會發現字符串是由小寫字母組成的。那么如果長度很長,那么必然會有大量的重復字符串。而且,題目要求我們只需要找出滿足條件的字符子串種類型,所以,如果我們采用枚舉遍歷,將曾經遍歷過的字符子串標記出來,那么以后碰見這樣的字符子串,就不需要重復遍歷了。這樣,必然可以講數量級直接降到很低。 然后我們觀察,如果i開始,長度為l的字符子串沒有匹配,那么i開始,長度為l+1的,直接break,跳到i+1。這樣又可以剪枝。 思路:窮舉+剪枝,(1).枚舉起點i和長度L,mark[i][L]表示這個字符串是否處理過,處理過不再處理,(2).若i位置上長L的串不可以,則更長的串也不可以,直接break L到下一個i



#include <stdio.h> #include <string.h>const int MAX = 1002;int main() {bool mark[MAX][MAX];char str[MAX];while(scanf("%s", str) != EOF){int len = strlen(str);for(int i = 0; i <= len ; i++){for(int j = 0; j <= len; j++)mark[i][j] = false;}int ans = 0;for(i = 0; i < len; i++){//如果i開始,j的長度的子串超過了字符串長度,那么,應該直接跳過。for(int j = 1; j < len && i + j <= len; j++){int hasMatch = 0;//如果從i開始,長度為j的字符串子串檢查過,那么直接開始j+1的子串檢查if(mark[i][j] == true)continue;//對從i開始,長度為j的字符串子串進行遍歷。for(int k = i + j; k <= len - j; k ++){//對已經標記過得子串(k,j),說明以前已經被匹配過,就不能再次進行匹配了if(mark[k][j] == true)continue;if(strncmp(str + i, str + k, j) == 0){mark[k][j] = true;hasMatch = 1;}}//遍歷一遍之后進行統計mark[i][j] = true;ans += hasMatch;if(hasMatch == 0)break;}}printf("%d\n", ans);}return 0; }


總結

以上是生活随笔為你收集整理的九度OJ 重复子串的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: av三级在线观看 | 色屋在线 | 91爽爽 | 二区三区视频 | 欧美sm视频 | 精品免费国产一区二区三区四区 | 亚洲av区无码字幕中文色 | 在线播放不卡 | 欧美性做爰猛烈叫床潮 | 激情片| 色婷婷国产精品 | 日本中文字幕在线看 | 国产综合在线视频 | 嫩草视频在线免费观看 | 一区二区国产欧美 | 日本伊人网 | 国产香蕉在线 | 丁香花五月天 | 久久精品毛片 | 欧美日韩一二三 | 性xxx18 | 一卡二卡在线 | 黄毛片在线观看 | 91看片在线 | 麻豆综合 | 久久精品aⅴ无码中文字字幕重口 | 黄色在线一区 | 国产乱人乱精一区二视频国产精品 | 免费视频精品 | 亚洲免费不卡视频 | 欧美永久| 国产福利免费在线观看 | 国产视频一区在线播放 | 少妇高潮露脸国语对白 | 狠狠操天天操 | 91视频免费在线观看 | 91超薄丝袜肉丝一区二区 | 亚洲天堂免费av | 欧美日韩人妻一区二区 | 深夜视频在线免费观看 | 香蕉久久a毛片 | 国产做爰全过程免费视频 | 日韩精品在线视频 | 国产18p | 奇米狠狠操 | 精品一区二区在线观看 | 国产精品无码在线 | 久草视频在线播放 | 欧美韩一区二区 | 在线观看免费高清 | 乱人伦xxxx国语对白 | 午夜dv内射一区二区 | 免费在线看污片 | 黄色小视频在线免费观看 | 日本精品一二三 | 女生扒开尿口让男生桶 | 亚洲2022国产成人精品无码区 | 少妇被粗大猛进进出出s小说 | 精品久久久久久久久久久久久久久久 | 欧美自拍色图 | 动漫美女隐私无遮挡 | wwwxxx日韩| 男人天堂a在线 | 丰满的女人性猛交 | 欧美一二区| 欧美骚视频 | 每日更新在线观看av | 日韩av网站在线观看 | 999伊人| 欧美大黑bbbbbbbbb在线 | 爱看av在线| 成人av无码一区二区三区 | 黄瓜视频在线免费观看 | 成年人在线播放 | 91av免费在线观看 | xxxx在线播放 | 久久国产精品系列 | 欧美日韩一级二级 | 欧美精品久久久久久久 | 午夜伦理视频 | 国产精美视频 | 91 色| 超清av在线| 青青草久久久 | 美日韩中文字幕 | 91丝袜在线 | 一本一道久久综合狠狠老精东影业 | 亚洲精品电影 | 精品国产aⅴ一区二区三区四川人 | 日韩成人性视频 | 精品人人| 女人张开腿让男人桶爽 | 日本在线视频观看 | 99久久夜色精品国产亚洲 | 老熟妇高潮一区二区高清视频 | 一区二区三区四区国产精品 | 红桃视频国产 | 久久99免费 | 91精品久久久久久综合五月天 |