??
题意 给一个字符串 判定其是否为回文串和镜像串 回文串很好判断 镜像串对于每一个字符用数组保存它的镜像字符就行了 没有的就是空格
注意若字符串长度为奇数 中间那个字母必须是对称的才是镜像串
#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
题目大意:给你一串数字让你判断经过若干次合并,使得这个数字串变成回文串的最小成本是多少。第一行是数字串,第二行是合并连续i个数字的成本是多少。
解题思路:区间dp,可以进行记忆化搜索,如果左边比右边和大那么右边一定是小了,右边比左边大那么左边一定小了。因为保证有解。具体不太好说,直接看代码吧。
Another OCD Patient
Time Limit: 2000/1000 MS ...
分类:
其他好文 时间:
2014-08-26 21:29:36
阅读次数:
380
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
1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个回文串,那么从这个字符串中删除这个字符 x 6 同样...
分类:
其他好文 时间:
2014-08-26 00:11:35
阅读次数:
261
给你一个字符串,让你找出长度最长的字符串的个数(字符串可以不同)#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
给你一个序列由),(,?组成,第i个?变成左括号,和右括号的代价不同,现在让你组成一个回文序列并让其花费的代价最少#include #include #include #include #include #include #include #include using namespace std;s...
分类:
其他好文 时间:
2014-08-25 20:47:14
阅读次数:
191
这题说的是给了长度为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
题目大意:给定一个长度为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
HDU 4960 Another OCD Patient
题意:给你一串数字 相邻x个数字合并成一个数字(相加)有一定代价 问 最少花费多少使得串变成回文串
思路:
读完题感觉像dp 数据范围也像 就开始想怎么表示状态 最简单的应该想到dp[i][j]表示i到j区间变成回文串的最小花费 状态想好了想做法 考虑将串分成AAAABBBBBBBCCC三段 即所有A合成一个数字 ...
分类:
其他好文 时间:
2014-08-19 20:52:45
阅读次数:
342