码迷,mamicode.com
首页 >  
搜索关键字:回文串    ( 1220个结果
UVa 401 Palindromes(镜像回文字符串)
?? 题意  给一个字符串 判定其是否为回文串和镜像串  回文串很好判断  镜像串对于每一个字符用数组保存它的镜像字符就行了  没有的就是空格 注意若字符串长度为奇数  中间那个字母必须是对称的才是镜像串 #include #include #include const int N = 35; int l; char s[N], mc[] = "A 3 HIL JM O ...
分类:其他好文   时间:2014-08-30 10:00:09    阅读次数:179
HDU 4960 Another OCD Patient(区间dp记忆化搜索)
题目大意:给你一串数字让你判断经过若干次合并,使得这个数字串变成回文串的最小成本是多少。第一行是数字串,第二行是合并连续i个数字的成本是多少。 解题思路:区间dp,可以进行记忆化搜索,如果左边比右边和大那么右边一定是小了,右边比左边大那么左边一定小了。因为保证有解。具体不太好说,直接看代码吧。 Another OCD Patient Time Limit: 2000/1000 MS ...
分类:其他好文   时间:2014-08-26 21:29:36    阅读次数:380
ural Mnemonics and Palindromes (dp)
http://acm.timus.ru/problem.aspx?space=1&num=1635 给出一个字符串,将这个字符串分成尽量少的回文串。 起初没有思路,想着应该先预处理出所有的回文串,然后进行dp。但是字符串的长度是4000,O(n^3)肯定不行,其实可以转化为O(n^2),就是枚举中点而不是枚举起点和终点,又NC了吧。 然后就是线性的dp了。dp[i]表示到第i...
分类:其他好文   时间:2014-08-26 17:31:46    阅读次数:218
NYOJ 1023 还是回文(DP,花最少费用形成回文串)
1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个回文串,那么从这个字符串中删除这个字符 x 6 同样...
分类:其他好文   时间:2014-08-26 00:11:35    阅读次数:261
5C-最长回文串个数
给你一个字符串,让你找出长度最长的字符串的个数(字符串可以不同)#include #include #include #include #define LMT 1000003using namespace std;int len,ans;char bra[LMT];int l[LMT];//û?п?...
分类:其他好文   时间:2014-08-25 20:52:14    阅读次数:196
3D--最小代价回文串
给你一个序列由),(,?组成,第i个?变成左括号,和右括号的代价不同,现在让你组成一个回文序列并让其花费的代价最少#include #include #include #include #include #include #include #include using namespace std;s...
分类:其他好文   时间:2014-08-25 20:47:14    阅读次数:191
uva 11584
这题说的是给了长度为n的字符串, 将这个字符串分成k个子串,求使得这个k尽量的小的最小值,当这个长度为n的字符串本身就是回文串的时候,那么k为1。考虑第i个字符和前i-1个中的第j个搭配形成回文子串,开一个数组标记一下就可以知道了这个从j到i是否是回文子串然后,每次取最小,我们发现这样是一个最优的子...
分类:其他好文   时间:2014-08-25 20:41:14    阅读次数:144
最大回文长度
回文 回文串就是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。code(Java) public class Huiwen { public static void main(String[] args) { ArrayList list = n...
分类:其他好文   时间:2014-08-21 21:04:44    阅读次数:189
hdu 4960 Another OCD Patient(记忆化)
题目链接:hdu 4960 Another OCD Patient 题目大意:给定一个长度为n的序列,然后再给出n个数ai,表示合成i个数的代价。每次可以将连续的子序列和成一个数,即为序列中各个项的和。要求将给定长度n的序列变成一个回文串,一个数字只能被合成一次。 解题思路:dp[l][r]表示从l到r被和成回文串的最小代价,dp[l][r]=min(val(r?l+1),val(r?...
分类:其他好文   时间:2014-08-20 00:06:35    阅读次数:205
2014多校训练九(HDU 4960 HDU 4961 HDU 4965 HDU 4968 HDU 4969 HDU 4970)
HDU 4960 Another OCD Patient 题意:给你一串数字  相邻x个数字合并成一个数字(相加)有一定代价  问  最少花费多少使得串变成回文串 思路: 读完题感觉像dp  数据范围也像  就开始想怎么表示状态  最简单的应该想到dp[i][j]表示i到j区间变成回文串的最小花费  状态想好了想做法  考虑将串分成AAAABBBBBBBCCC三段  即所有A合成一个数字  ...
分类:其他好文   时间:2014-08-19 20:52:45    阅读次数:342
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!