分析:这道题难度和天天爱跑步差不了多少啊......裸的暴力只有10分,最好大的还是那个5%的数据,不过这也才15分,比天天爱跑步的暴力分不知道少到哪里去了. 正解是dp,毕竟要求方案数嘛,但是这个dp非常不好想.设f[i][j]表示i到j个数的回文子序列的个数.f[i][j]可以从f[i][j-1 ...
分类:
其他好文 时间:
2017-10-28 20:32:21
阅读次数:
263
输出:_________ 【一个计算最长回文子序列的例程,值得一背】 首先是关于扫描的事项 一是可能有的时候会比较难理解为什么当 i == j 时对回文子序列的贡献为1,例如:abcda,除了头尾的a对回文子序列的贡献为2,中间的bcd不管是怎么扫描,对于a _ a 这个回文子序列来讲,b或c或d是 ...
分类:
其他好文 时间:
2017-10-10 21:58:37
阅读次数:
98
状态转移方程如下: 当i > j时,dp[i,j]= 0。 当i = j时,dp[i,j] = 1。 当i < j并且str[i] == str[j]时,dp[i][j] = dp[i+1][j-1]+2; 当i < j并且str[i] ≠ str[j]时,dp[i][j] = max(dp[i][ ...
分类:
其他好文 时间:
2017-08-29 20:41:37
阅读次数:
150
一、问题的描述 回文序列(Palindromic sequence, Palindrome)是指正向遍历和反向遍历完全相同的序列,例如字符串“AAAAA”显然是一个回文序列,又如字符串“ABC@CBA”也是一个回文序列。现在,我们要在一个(字符)序列中找出最长回文子序列的长度。例如字符序列"BBAB ...
分类:
编程语言 时间:
2017-08-22 16:53:18
阅读次数:
279
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1513 题目大意:给一个字符串,问最少加多少个字母能成为回文串。 关键思想:要解决的是回文子序列问题而不是回文子串。回文子序列怎么求?可以把字符串倒转一下,再求他们的最长公共子序列啊!想一想为什么。求出L ...
分类:
其他好文 时间:
2017-08-12 21:15:03
阅读次数:
175
dp[i][j]代表区间[ i , j ]中回文子序列的个数…… #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define MOD 100007 using namespace std; ...
分类:
其他好文 时间:
2017-08-04 19:28:02
阅读次数:
158
http://acm.hdu.edu.cn/showproblem.php?pid=4745 题意: 有一个环,现在有两只兔子各从一个点开始起跳,一个沿顺时针,另一个沿逆时针,只能在一圈之内跳,并且每次所在的点的大小必须相同,问最多能经过 几个点。 思路:环状的话可以先倍增改成链。 这道题目的话就是 ...
分类:
其他好文 时间:
2017-07-21 10:41:44
阅读次数:
159
https://vjudge.net/problem/UVA-11404 题意: 给定一个由小写字母组成的字符串,删除其中的0个或多个字符,使得剩下的字母(顺序不变)组成一个尽量长的回文串。如果有多解,输出字典序最小的解。 思路: 首先,最长回文子串的长度可以通过正序字符串和逆序字符串进行LCS得出 ...
分类:
其他好文 时间:
2017-07-18 17:50:40
阅读次数:
321
Manacher+FFT,这题太精妙了,我现在才写是不是太弱了... Ans=以某个轴为中心的每一种回文子序列-所有连续回文串方案数 连续部分可以用Manacher在O(n)时间内解决。 第一部分:令f[i]=以i为中轴的对称对数,则对(2^f[i])-1求和即可(不能光有一根轴) 长串中i左右对称 ...
分类:
其他好文 时间:
2017-05-01 19:49:22
阅读次数:
315
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4632 问题要求回答一串字符串中回文子序列的数量,例如acbca就有 a,c,b,c,a,cc,aa,aca,aca(注意这两个aca的c是不同位置的c,都要累计),aba,cbc,acca,acbca. ...
分类:
其他好文 时间:
2017-04-30 12:42:56
阅读次数:
189