hdu 1544(求回文子串的个数)
2014-05-26 17:59
218 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1544
思路:枚举中间点,分为奇数长度和偶数长度,然后向两边扩展就可以了,如果不相等,就直接跳出;
View Code
思路:枚举中间点,分为奇数长度和偶数长度,然后向两边扩展就可以了,如果不相等,就直接跳出;
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 #define MAXN 5005 6 char str[MAXN]; 7 8 int main(){ 9 while(~scanf("%s",&str)){ 10 int len=strlen(str),l,r; 11 int ans=len; 12 for(int i=0;i<len;i++){ 13 l=i-1,r=i+1;//奇数长度 14 while(l>=0&&r<len&&str[l]==str[r]){ 15 l--,r++; 16 ans++; 17 } 18 l=i,r=i+1;//偶数长度 19 while(l>=0&&r<len&&str[l]==str[r]){ 20 l--,r++; 21 ans++; 22 } 23 } 24 printf("%d\n",ans); 25 } 26 return 0; 27 } 28
View Code
相关文章推荐
- hdu 1544 连续回文子串的个数 构造法
- hdu 1544 统计回文子串的个数
- hdu 1544 回文子串的个数
- hdu 1544(求回文子串的个数)
- hdu 3068 最长回文(manachar求最长回文子串)
- 最大算法【Manacher模板】HDU 3068——求最长回文子串
- hdu【最长回文子串——Manacher算法】POJ 3974/HDU 3068
- hdu 3068 最长回文子串 Manacher算法
- hdu 3068 最长回文子串(马拉车算法)
- HDU 3948 不同回文子串个数
- HDU 4745 Two Rabbits (2013杭州网络赛1008,最长回文子串)
- hdu 5340 最长回文子串变形
- HDU 3068 最长回文(求最长回文子串)
- hdu 3068最长回文子串
- HDU 3068 最长回文(求最长回文子串)
- hdu 3068 最长回文 【Manacher求最长回文子串,模板题】
- HDU 4745 Two Rabbits(区间DP,最长非连续回文子串)
- HDU 1544Palindromes(求回文字符串)
- HDU 3068 最长回文子串O(n)算法
- (HDU)3068 - 最长回文子串【模版】