codeforces 159D dp + strings 好题
2013-08-29 10:36
169 查看
关键:很巧妙的枚举思路,枚举回文字符串中间字符的位置i,复杂度O(n),
然后统计 以i为起始位置的回文串的个数放在数组p[]中,以末尾位置的回文串的个数放在数组q[]中。
最后处理一下即可
View Code
然后统计 以i为起始位置的回文串的个数放在数组p[]中,以末尾位置的回文串的个数放在数组q[]中。
最后处理一下即可
View Code
#include<stdio.h> #include<string.h> #define lld __int64 char s[2006]; int p[2006], q[2006]; lld ans; int main() { int i, j; int l = strlen(gets(s+1)); int a, b; for(i = 1; i <= l; i++) { for(a = i, b = i+1; a && b <= l && s[a] == s[b]; a--, b++) p[a]++, q[b]++; for(a = b = i; a && b <= l && s[a] == s[b]; a--, b++) p[a]++, q[b]++; } for(i = l; i >= 1; i--) p[i] += p[i+1]; for(i = 1; i <= l; i++) ans +=(lld) p[i+1] * q[i]; printf("%I64d\n", ans); return 0; }
相关文章推荐
- codeforces 159D dp + strings 好题
- codeforces 149E Martian Strings - AC自动机
- codeforces 288A:Polo the Penguin and Strings
- Problem--112A--Codeforces--A. Petya and Strings
- codeforces 293 dvi2 A. Vitaly and Strings
- CodeForces 151D Quantity of Strings(并查集)
- CodeForces 112 A.Petya and Strings(水~)
- Mike and strings-codeforces-Round 410-Div2-B
- Codeforces 868 D. Huge Strings (二分+随机+SAM)
- codeforces 149E Martian Strings
- codeforces 444D DZY Loves Strings
- CodeForces 150B- Quantity of Strings 推算..
- 【CODEFORCES】 C. Dreamoon and Strings
- codeforces 之 Another Problem on Strings
- Codeforces - 358D - Alyona and Strings(dp)
- 【CODEFORCES】 C. Dreamoon and Strings
- codeforces 165-C. Another Problem on Strings(计数+尺取)
- codeforces-165C-Another Problem on Strings
- CodeForces 165C - Another Problem on Strings
- codeforces水题100道 第二十三题 Codeforces Beta Round #77 (Div. 2 Only) A. Football (strings)