E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
palindrome
[后缀数组]ural 1354:
Palindrome
. Again
Palindrome
大致题意: 给出一个字符串,要求在这个字符串后面添加最少的字母使其成为回文串。 大致思路: 要注意添加的字母数不能为0,要分奇偶讨论。 #include<iostream> #include<cstdio> #include<vector> #include<
暴风雪
·
2012-03-11 19:00
数据结构
字符串
ACM
后缀数组
ural 1354
String to
Palindrome
题意为给出一个字符串,现在可以进行3种操作(添加字母,删除字母,替换字母),将其变成回文串,求出最少的操作次数。这题虽然想到了状态表示,但是在转移方程上遇到了点麻烦,最后还是看了别人的题解。现在越来越不会独自思考了,老是不会就看题解,这样不行啊。由于添加字母和删除字母的效果是一样的,因此我们这里就只进行删除和替换操作。用d【i】【j】表示将第i到j之间的字串变成回文串的最小操作步数,然后转移方程为
wangtaoking1
·
2012-03-06 11:00
第15题 To Check the given linked list is
palindrome
or not
检查链表是否是一个
palindrome
? 什么是
palindrome
?
lovnet
·
2012-03-03 15:00
check
UVa10018 - Reverse and Add
#include #include #defineMAX20 intis_
palindrome
(char*str); voidreverse(char*from,char*to); intmain
wuli2496
·
2012-03-02 21:00
Palindrome
[1159@pku]
Palindrome
[1159@pku]//@pku DY问题//最重要的是要找到重叠子问题,本题用LCS的方法是错误的//本题最大的问题是flag数组太大,用int会MLE,改用short可以勉强通过
DjvuLee
·
2012-02-29 12:00
USACO - 1.2.5 - Dual
Palindrome
s
转载请注明出处 摘要:模拟,回文数 ,进制转换 一. 题目翻译 1. 描述: 如果一个数从左往右读和从右往左读都是一样,那么这个数就叫做“回文数”。例如,12321就是一个回文数,而77778就不是。当然,回文数的首和尾都应是非零的,因此0220就不是回文数。
qingtangpaomian
·
2012-02-24 15:00
USACO
[后缀数组+RMQ]ural 1297:
Palindrome
大致题意: 给出一个字符串,求出这个字符串中最长的回文串。如果有多个回文串的长度相等且都是最大,则输出最靠前的那个。 大致思路: 首先肯定是要把原字符的逆序串接到原字符串的后面。然后便是从0~~len扫描这个字符串,假设第i个位置是一个回文的中心,然后求出i个i对应位置的lca的最大值即可。每次枚举时要分奇偶两种情况考虑
暴风雪
·
2012-02-22 19:00
字符串
ACM
后缀数组
RMQ
ural 1297
USACO 1.2.5 Dual
Palindrome
s
此题可以利用1.2.4中所写的进制转换函数,题目本身没有太大难度,模拟即可。代码如下:/* ID:michael139 LANG:C PROG:dualpal */ #include #include inttenToB(intten,charB[150],intb); intmain(){ FILE*fin=fopen("dualpal.in","r"); FILE*fout=fopen("du
michaelalan
·
2012-02-21 22:00
The Next
Palindrome
PALIN-SPOJ5.TheNext
Palindrome
Apositiveintegeriscalleda
palindrome
ifitsrepresentationinthedecimalsystemisthesamewhenreadfromlefttorightandfromrighttoleft.ForagivenpositiveintegerKofnotmorethan1000000dig
coreBugZJ
·
2012-02-19 16:00
poj 1159
Palindrome
【DP】
dp[i][j]=dp[i+1][j-1],(s[i]==s[j]) dp[i][j]=min(dp[i+1][j],dp[i][j-1])+1,(s[i]!=s[j])DP+Short数组:Problem:1159User:wxfwxf328 Memory:40716KTime:391MS Language:C++Result:Accepted SourceCode #include using
wxfwxf328
·
2012-01-31 17:00
poj 1159
Palindrome
DP,简单的回文词问题。有两种做法!第一种做法是用LCS来做。因为Maxlen=5000;所以要用滚动数组,其实我用short型也能过~~#include #include usingnamespacestd; shortdp[2][5001]; intmain() { strings,cs; inti,j,n,e; while(cin>>n) { e=0; cin>>s; for(i=n-1;i
xxx_bug
·
2012-01-28 19:00
String
Poj 3280 Cheapest
Palindrome
题目大意:长度为M的字符串,可以增加或删除字符,使其构成回文,增加或删除不同的字符有不同的花费,求最小花费。思路:其实dp很难逃出3种思路:1、一维线性dp:每次考虑i时,选择最优子问题要么在i-1,要么在1...i-1里;2、二维线性dp:考虑(i,j)子问题时,选择最优子问题要么在(i+1,j)、(i,j-1),要么在i #include #include #defineMAXSIZE2048
Detective_Xin
·
2012-01-22 13:00
c
ini
Poj 1159
Palindrome
题目大意:给出一个长度为n的字符串,求最少增加几个字符,使其变成回文串。思路:一开始没什么想法,后来经过一些模拟举例后发现,增加的字符数量就等于原串的长度减去正序和反序的最长公共子串的差。所以就可以转化为LCS的问题,另外一开始开了5010*5010的空间,结果当然是MLE,后来改成滚动数组,就AC了。#include #include #include charstr1[5010]; chars
Detective_Xin
·
2012-01-17 14:00
java-判断一个整数是否回文,考虑溢出
public class
Palindrome
Int { /** *
Palindrome
Int,like 1,121,12321....
bylijinnan
·
2012-01-15 21:00
java
HDU 2029
Palindrome
s _easy version
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2029这题不用for循环判断,直接用strrev转置就行,水过。(不过用G++好像会编译错误,改C或C++就行)代码:#include #include intmain() { charstr1[1001],str2[1001]; ints,i,len; scanf("%d",&s); getchar(
A_Eagle
·
2012-01-05 13:00
c
HDU 2029
Palindrome
s _easy version
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2029 这题不用for循环判断,直接用strrev转置就行,水过。(不过用G++好像会编译错误,改C或C++就行) 代码: #include<stdio.h> #include<string.h> int main() { char str1[1001],str2[100
touchinsert
·
2012-01-05 13:00
version
ural 1297
Palindrome
(求最长回文)
这个数据比较弱,暴力就可以过……还可以DP,后缀树组……暴力就不说了……Manacher算法:看连接http://blog.csdn.net/tanhaiyuan/article/details/7091019DP:后缀树,现在还不会啊…… 暴力:#include #include usingnamespacestd; boolJudge(ints,inte,charstr[]) { inti,j
tanhaiyuan
·
2011-12-21 13:00
最长回文子串o(n)算法
原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-
palindrome
tanhaiyuan
·
2011-12-21 13:00
uva Volumn1 String 总结
401-
Palindrome
s 题意:给一个字符的匹配规则,让判断所给的字符是回文串或是反转串,或
huzhengnan
·
2011-12-16 01:00
数据结构
编程
算法
String
Dictionary
Dual
Palindrome
s
/* ID: fykalv3 LANG: C TASK: dualpal */ /* 遍历2到10逐个转换然后判断是不是回文数,就有个mark的变量记录是不是大于两种情况下的回文数 */ #include <stdio.h> /* 函数的功能就是转换然后再判断是不是回文数 */ int pd(in
itoracja
·
2011-12-09 14:00
java
工作
Dual
Palindrome
s
/* ID: fykalv3 LANG: C TASK: dualpal */ /* 遍历2到10逐个转换然后判断是不是回文数,就有个mark的变量记录是不是大于两种情况下的回文数 */ #include <stdio.h> /* 函数的功能就是转换然后再判断是不是回文数 */ int pd(int num) { int i, j
kalviny
·
2011-12-02 14:00
c
算法
USACO
1.2.5 Dual
Palindrome
s
直接代码……#include #include #include usingnamespacestd; ifstreamfin("dualpal.in"); ofstreamfout("dualpal.out"); voidTrans(intnum,intbase,charstr[]) { inti=0,temp; while(num!=0) { temp=num%base; n
tanhaiyuan
·
2011-12-02 00:00
uva 10453 Make
Palindrome
题意:给你n个串(长度最多为1000),问对于每个串插入最少多少m个字符能使它变成一个回文串。输出m,并把回文串输出.看了解题报告。总结,还要随便用memset,否则会T。#include #include #include usingnamespacestd; constintN=1005; structnode { intcost,cmd; intx,y; voidfz(intb,intc,i
shiqi_614
·
2011-11-30 16:00
uva 10617 Again
Palindrome
题意:给你n个串(最长不超过60),问有多少种删去字符的方法使剩下的字符成为一个回文子串。设map[x][y]为从x到y有多少个回文串。当str[x]==str[y]的时候,我们要考虑x+1,y组成的回文串,x,y-1之间的回文串,但是两者都会计算x+1,y-1的回文串数,所以要减去,另外,因为str[x]==str[y],所以x+1,y-1之间的回文串也能和str[x],str[y]组成回文串,
shiqi_614
·
2011-11-29 22:00
uva 11151 Longest
Palindrome
题意:给你n个字符串。问每个字符串能从中得到的最长的回文串的多长(可以不连续)??#include #include #include usingnamespacestd; constintN=1005; charstr[N]; intmap[N][N]; boolvis[N][N]; intdp(int,int); intmain() { intt; scanf("%d",&t); getcha
shiqi_614
·
2011-11-23 09:00
uva 10739 String to
Palindrome
题意:给你n个字符串。有三种操作:1,添加任何字符到任何位置。2,删除任何字符。3,替换任何字符。问你经过最少多少次操作,能把给出的字符串变成一个回文串。定义dp(x,y)为把字符串从x到y变成回文串经过的最少的操作。则如果str[x]==str[y],那么状态转移成dp(x+1,y-1);如果str[x]!=str[y],那么就要考虑那三种操作,添加,删除的结果都是一样的,即状态转移成1+min
shiqi_614
·
2011-11-21 21:00
添字成回文词 POJ1159
Palindrome
TimeLimit: 3000MS MemoryLimit: 65536KTotalSubmissions: 39691 Accepted: 13485DescriptionA
palindrome
isasymmetricalstring
tiantangrenjian
·
2011-11-19 10:00
算法
String
Integer
input
iostream
output
USACO Section 1.5 Prime
Palindrome
s - 换个搜索顺序效率会提高不少
这题是要求a..b范围内既是回文数又是质数的数~~~开始我是先找用筛选法筛素数再来判断范围内的素数是否是回文~~在本题跑大数据就很慢~~10S左右~~交上去试试结果直接是爆空间...后来想了一下~~明显的在一个确定范围内素数的数量比回文数的数量多很多...并且回文数可以直接构造..如有一个数[ 可以直接就构造一个[]或者[?]...就给的b最大到10的八次方..但构造回文时因为每次至少是会变成
kk303
·
2011-11-14 21:00
c
【ProjectEuler】ProjectEuler_004
//Apalindromicnumberreadsthesamebothways.Thelargest
palindrome
madefromtheproductoftwo2-digitnumbersis9009
sytzz
·
2011-11-05 15:00
ProjectRuler-4
The largest
palindrome
made from the product of two 2-digit numbers is 9009 = 91 99.
shaorui23
·
2011-11-04 12:00
project
uva 10739 String to
Palindrome
题意:题意:有三种操作,添加任何字符到任何位置,移动任何字符到任何位置,替换任何字符。然后给你一个串,问你经过多少个操作,能使它变成一个回文子串。状态定义dp(i,j)为字符串从i到j需要经过多少次操作才能变成一个回文子串。如果str[i]!=str[j],那么可以选择的操作是删除或增加dp(i+1,j)+1或dp(i,j-1)+1,替换dp(i+1,j-1)+1。如果str[i]==str[j]
shiqi_614
·
2011-10-24 23:00
String
SPOJ 5 The Next
Palindrome
题目大意就是给出一个数,就比他大的最近的一个回文数,而数据范围到了10^1000000,所以暴搜之类的肯定不行的。所以就要用字符串处理了。首先如果输入数包含的数字全是9的话,那么显然应该输出100......0001这样的数,也只有这个情况会出现结果比输入的长度增1。然后输入的是个位数的话,就输出下一个个位数就行,当然了,9除外。然后就要把整个数字分为左右两半部分,从中间开始,用左边的数字分别与右
sdj222555
·
2011-10-17 12:00
c
poj1159
Palindrome
(dp)
两种方法:1.序列i~j为回文,两种策略: (1)若str[i]==str[j],则只需要i+1~j-1为回文,此时:dp[i][j]=dp[i+1][j-1];(2)否则只需要在str[j]后加1个字符str[i]并使i+1~j为回文或者在 str[i]之前加一个str[j ]并使i~j-1为回文,此时:dp[i][j]=MAX(dp[i+1][j]+1,dp
Non_Cease
·
2011-10-15 14:00
判断一个数字是否是回文数字(递归)
boolis
Palindrome
(intnumber,intnumDigits) { intfirstDigit,lastDigit,temp; if(numDigits<=1) returntrue;
chengyang
·
2011-10-15 13:00
Palindrome
poj 1159
题目链接:http://poj.org/problem?id=1159题目大意:给你一个字符串,问最少添加多少个字符就能使其成为一个回文串。ps:以前做过的一个题目跟这个很相似,但显然这个的要求的条件更少,所以很容易确定状态和状态转移。但是这个题目用int会超内存,所以只能用short就能AC了,这里wa了两次,注意简单题目也要认真对待才行啊。代码:#include #include #inclu
IAccepted
·
2011-10-02 11:00
uva 401 -
Palindrome
s
题目大意:给你一个串要你判断,从左到右读和从右到左读是否相同( regular
palindrome
),把这个串根据题目中给出的对应关系是否也满足前面的条件(mirroredstring),是否同时满足前面两个条件
shiqi_614
·
2011-09-19 16:00
String
欧拉项目 Problem4
欧拉项目第四题的题目如下:Apalindromicnumberreadsthesamebothways.Thelargest
palindrome
madefromtheproductoftwo2-digitnumbersis9009
xiaoxie
·
2011-09-17 20:00
项目
POJ 3280 Cheapest
Palindrome
DP
题意:给定一个字符串,将它调整成回文串。可以在它上面添加或者删除任意一个字符,但是每增加或者删除一个字符都有一个代价,求代价最小的方案。题解:添加和删除的操作其实一样,所以只要求出添加和删除的较小值,作为对该字符进行操作的代价。 #include usingnamespacestd; intdp[2001][2001],cost[30]; chars[2005]; intmin(inta,in
Tsaid
·
2011-08-30 12:00
c
4.4 play with class inheritance in ruby
class Word def
palindrome
?
peryt
·
2011-08-29 18:00
Class
Ruby
inheritance
POJ 1159
Palindrome
DP
题意:给定一个字符串,至少插入几个字符才能使它变成回文串。题解:总结了三种方法,具体如下。方法一:s1为原字符串,s2由s1从右至左复制得到。dp[i][j]表示让s1[i]与s2[j]左边的字符串完全相等最少需要插入的字符个数。1.当s1[i] !=s2[j]时,假设已知:substr1:·······s1[i-1]substr2:·······s2[j]substr1==substr2现在要求
Tsaid
·
2011-08-27 17:00
ZOJ 1325,HDOJ 1318--
Palindrome
s
:设置两个全局的字符串常量,分别表示A~Z的reverse字符和1~9的reverse字符,不存在reverse的可以用任一个invalidcharacters代替,本代码用@代替,写两个函数分别进行
palindrome
string
codepeng
·
2011-08-24 13:00
hdu 3948后缀树组-4
distinct
palindrome
。。 分析:求一个串中不相同的子串个数是通过扫描一遍height数组,每次如果前面的height值比前一个大,ans就加上这多的这部分。。最终求得ans。。。
ggggiqnypgjg
·
2011-08-22 10:00
Poj3974 最长回文子串
Manacher, http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-
palindrome
-sub-string
dooder_daodao
·
2011-08-16 18:00
Algorithm
String
Integer
insert
character
pair
POJ 3974
Palindrome
回文串
求最长回文串 由于数据大 需要O(n)的算法 Manacher算法这个算法有一个很巧妙的地方,它把奇数的回文串和偶数的回文串统一起来考虑了。这一点一直是在做回文串问题中时比较烦的地方。这个算法还有一个很好的地方就是充分利用了字符匹配的特殊性,避免了大量不必要的重复匹配。 算法大致过程是这样。先在每两个相邻字符中间插入一个分隔符,当然这个分隔符要在原串中没有出现过。一般可以用‘#’分隔。这样就非
sdj222555
·
2011-08-15 22:00
c
算法
Build
回文字符串函数
用来判断一个字符串是否为回文串“
palindrome
“,即abbawerrew...考虑到.Net有很好的字符串处理功能,就用C#实现了,很简单,四行搞定//例如:中文里,有回文诗句、对联,如:"灵山大佛
lightweight
·
2011-08-04 16:03
职场
休闲
回文字符串函数
poj 1159
Palindrome
--最长公共子串
/* 本题主要就是最长公共字串(同他自己的反串) 所求就是其长度-公共字串的长度 同时本题用到空间压缩,否则可能内存用超 我是用的两行的数组,轮流做当前行 */ #include #include chars[5050]; intp[2][5050],n,z; voiddp() { z=0; memset(p,0,sizeof(p)); inti=n-1,j; for(;i>=0;i--) { f
qq172108805
·
2011-08-03 17:00
POJ1159-
Palindrome
转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1300587979 设原序列S的逆序列为S',则这道题目的关键在于,最少需要补充的字母数=原序列S的长度— S和S'的最长公共子串长度这个公式我不证明,不难证剩下的就小意思了,最基础的LCS题。注意本题空间开销非常大,需要适当的处理手法 先看看几种不同的申请空间方法的区别:1.静态数组开销
lyy289065406
·
2011-07-31 12:00
数据库
算法
测试
delete
input
POJ--3280[Cheapest
Palindrome
] DP
字符串DPdp[i][j]表示在区间ij范围内构成回文的最小花费应为删除一个字符和添加一个字符时等价的,所以考虑最小的一种即可如果当前匹配的两个字符相等,即str[i]==str[j]那么dp[i][j]=dp[i+1][j-1](显而易见)如果不等则把左边添加删除一个右边的值 或者在右边添加删除一个左边的值,取一个最小的即可 CODE:/*DP*/ /*注意:插入和删除是等效的,去较小的一
allenjy123
·
2011-07-30 15:00
Manacher算法--O(n)回文子串算法
原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-
palindrome
-sub
xuanflyer
·
2011-07-30 00:20
算法
ACM/ICPC
数据结构
Manacher算法--O(n)回文子串算法
原文地址:http://zhuhongcheng.wordpress.com/2009/08/02/a-simple-linear-time-algorithm-for-finding-longest-
palindrome
ggggiqnypgjg
·
2011-07-30 00:00
算法
上一页
98
99
100
101
102
103
104
105
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他