题目描述: Find the largest palindrome made from the product of two n-digit numbers. Since the result could be very large, you should return the largest palindrome mod 1337. Example: Input: 2 Output: 987 Explanation: 99 x 91 = 9009, 9009 % 1337 = 987 Note
[译+改]最长回文子串(Longest Palindromic Substring) Part II 原文链接在http://leetcode.com/2011/11/longest-palindromic-substring-part-ii.html 原文作者有些地方逻辑上有点小问题,我做了纠正.关于解释时间复杂度上,原作者就只有两句话,我无法理解,特意在此加强了,便于理解. 问题:给定字符串S,求S中的最长回文子串. 在上一篇,我们给出了4种算法,其中包括一个O(N2)时间O(1)空间的算法
原文链接:英文版链接 首先,我们将字符串S中插入符号“#”转化成另一个字符串T. 比如:S = "abaaba",T = “#a#b#a#a#b#a#”. 为了找到最长回文字串,我们需要围绕Ti进行扩展,Ti-d...Ti+d是一个回文,很明显d是围绕Ti形成的回文的长度. 将每个回文的长度用数组P存起来,这样,P[i]就代表围绕Ti的回文长度,最长回文字串将会是P中的最大元素. 用上面的例子,我们得到的P的结果是(从左至右): T = # a # b # a # a # b # a
转自:http://blog.csdn.net/hopeztm/article/details/7932245 Given a string S, find the longest palindromic substring in S. 给出一个字符串S,找到一个最长的连续回文串. 例如串 babcbabcbaccba 最长回文是:abcbabcba 这个题目小弟给出3中解法,前两种的都是 O(n^2), 第三种思路是O(n). 思路1. 动态规划 这里动态规划的思路是 dp[i][j] 表示的
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring. 方法一(暴力解法): 就上暴力加些剪枝. 枚举回文串的长度,从最长的开始,寻找是否有当前长度的回文串. 如果找到,直接弹出循环,没找到就减小回文串的长
C题意: 给定n个点(标号0~n-1)的度数(就是与其邻接的点的个数)和所有与它邻接的点标号的异或和,求满足这些条件的树的边应该是怎么连的,将边输出出来 这里可以理解成拓扑排序的方式考虑,当i度数为1的时候,那么我们必然知道 i 肯定得与s[i]相连使其剩余的异或值为0 所以建立一个队列不断将度数变为1的点放进来,得到边以后,不断更新点的度数和其对应的异或和的值 #include <bits/stdc++.h> using namespace std; <<); int n,deg