题目来源:HDU 3613 Best Reward
题意:每个字母对应一个权值 将给你的字符串分成两部分 如果一部分是回文 这部分的值就是每个字母的权值之和 求一种分法使得2部分的和最大
思路:考虑扩展KMP 输出a串 得到a的反串b 求出f[0]和f[1] 和 extend[0]和extend[1] 正反求2次
枚举位置i 分成2部分0到i-1 和i到n-1 因为分成的2部分必须组成原字符...
分类:
其他好文 时间:
2014-07-24 17:45:32
阅读次数:
271
回文串的问题很经典,也很常见,涉及到递归,循环,动态规划等方面,这里总结一下几种类型,供以后回顾,有问题请大家指正
1、回文串的判断
leetcode上的题目
bool isPalindrome(const char* src)
{
if(src == NULL)return true;
int end = strlen(src)-1,begin = 0;
while(beg...
分类:
其他好文 时间:
2014-07-24 17:42:06
阅读次数:
262
题目来源:吉哥系列故事——完美队形II
题意:中文
思路:在manacher算法向两边扩展的时候加判断 保证非严格递减就行了
#include
#include
#include
using namespace std;
const int maxn = 100110;
int a[maxn<<1];
int b[maxn<<1];
int dp[maxn<<1];
int manac...
分类:
其他好文 时间:
2014-07-23 17:18:54
阅读次数:
381
http://acm.hdu.edu.cn/showproblem.php?pid=4632题意:一个字符串,有多少个subsequence是回文串。别人的题解:用dp[i][j]表示这一段里有多少个回文串,那首先dp[i][j]=dp[i+1][j]+dp[i][j-1],但是dp[i+1][j]...
分类:
Web程序 时间:
2014-07-23 16:31:51
阅读次数:
365
#include #include void main(){ int x,i; char str[100]; //gets(st1); printf("Please input a string to find out whether the string is palind...
分类:
其他好文 时间:
2014-07-22 23:04:32
阅读次数:
240
题目链接题意 :给你一个字符串,让你删除或添加某些字母让这个字符串变成回文串,删除或添加某个字母要付出相应的代价,问你变成回文所需要的最小的代价是多少。思路 :DP[i][j]代表的是 i 到 j 这一段位置变成回文所需的最小的代价。 1 //3280 2 #include 3 #include ....
分类:
其他好文 时间:
2014-07-22 22:46:35
阅读次数:
217
酷我音乐ios版下载的音乐文件,通过同步助手等软件查看时,发现音乐文件都是一串数字命名。通过网上查找和自己尝试,发现那些文件都是音频文件改了文件名而已。只要修改回文件名,就能和正常的音乐一样播放了。
在网上找到了一个软件,也就是上面参考网址中的软件,但是使用的时候出现了问题,提示subscript out of range,程序不能继续执行。于是就决定自己用Java写一个来处理。
首先从手机复制出cloud.db数据库文件,为SQLite数据库文件。用SQLite Database Browser打开,...
分类:
移动开发 时间:
2014-07-22 00:02:33
阅读次数:
395
Manacher算法首先:大家都知道什么叫回文串吧,这个算法要解决的就是一个字符串中最长的回文子串有多长。这个算法可以在O(n)的时间复杂度内既线性时间复杂度的情况下,求出以每个字符为中心的最长回文有多长, 这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了。这一点一直是在做....
分类:
其他好文 时间:
2014-07-22 00:00:36
阅读次数:
340
如何从ios酷我音乐盒中导出已下载的音乐文件本文所涉及内容用于技术学习,请勿用于不正当用途,否则后果自负。酷我音乐ios版下载的音乐文件,通过同步助手等软件查看时,发现音乐文件都是一串数字命名。通过网上查找和自己尝试,发现那些文件都是音频文件改了文件名而已。只要修改回文件名,就能和正常的音乐一样播放...
分类:
其他好文 时间:
2014-07-22 00:00:34
阅读次数:
651
题目大意:给定一个字符串,求最少插入几个字符让该字符串成为回文串
法一:
dp[i][j]表示使区间[i,j]成为回文串最小插入的字符数,则状态转移方程
1、if s[i]==s[len-1] 则:d[i][j]=d[i+1][j-1]
2、else d[i]=min(dp[i+1][j],dp[i][j-1])
首尾字符不同的时候,有两种决策。
1、将新字符插在首位,那么状态就...
分类:
其他好文 时间:
2014-07-21 23:30:01
阅读次数:
255