随笔分类 - POJ
POJ-题解
摘要:题目链接:http://poj.org/problem?id=3237 题意:给定一棵n个结点n-1条边的树。 每条边都是一个边权。 现在有4种操作 1:CHANGE I V:把(输入的)第i条边的边权改为V 2:NEGATE a b:把点a到点b的路径上的边权取反 3:QUERY a b:输出点a
阅读全文
摘要:题目链接:http://poj.org/problem?id=3415 题意:给定2个串[A串和B串],求两个串公共子串长度大于等于k的个数。 思路:首先是两个字符串的问题。所以想用一个'#'把两个字符串拼接起来。求后缀数组。 然后按照k把height数组分组。大于等于k的为一组,然后就是统计每组的
阅读全文
摘要:题目链接:http://poj.org/problem?id=3080 题意:给定n个DNA串,求最长公共子串。如果最长公共子串的长度小于3时输出no significant commonalities,否则输出该子串,如有多解请输出字典序最小的解 思路:是POJ 3405的弱化版。思路请参考
阅读全文
摘要:题目链接:http://poj.org/problem?id=3450 题意:给定n个字符串,求n个字符串的最长公共子串,无解输出IDENTITY LOST,否则最长的公共子串。有多组解时输出字典序最小的解 思路:后缀数组的解法,我们把n个串都链接起来,中间用一些互不相同的且都没在原串中出现过的字符
阅读全文
摘要:题目链接:http://poj.org/problem?id=1226 题意:给定n个字符串[只含大小写字母],求一个字符串要求在n个串或者他们翻转后的串的出现过。输出满足要求的字符串的长度 思路:根据<<后缀数组——处理字符串的有力工具>>的思路,这题不同的地方在于要判断是否在反转后的字符串中出现
阅读全文
摘要:题目链接:http://poj.org/problem?id=3294 题意:给定n个字符串,求一个最长子串要求在超过一半的字符串中出现过。 如果多解按字典序输出 思路:根据<<后缀数组——处理字符串的有力工具>>的思路,将 n个字符串连起来, 中间用不相同的且没有出现在字符串中的字符隔开, 求后缀
阅读全文
摘要:题目链接:http://poj.org/problem?id=2774 题意:给定两个只含小写字母的字符串,求字符串的最长公共子串长度。 思路:根据<<后缀数组——处理字符串的有力工具>>的思路,字符串的任何一个子串都是这个字符串的某个后缀的前缀 。求 A和 B的最长公共子串等价于求 A的后缀和 B
阅读全文
摘要:题目链接:http://poj.org/problem?id=3693 题意:首先定义了一个字符串的重复度。即一个字符串由一个子串重复k次构成。那么最大的k即是该字符串的重复度。现在给定一个长度为n的字符串,求最大重复次数的子串,有多解时输出字典序最小解。 思路:与SPOJ的题意差不多,可以点击这里
阅读全文
摘要:题目链接:http://poj.org/problem?id=2406 题意:给定一个字符串,求由一个子串循环n次后可得到原串,输出n[即输出字符串的最大循环次数] 思路一:KMP求最小循环机,然后就能求出循环次数。 思路二:后缀数组,直接根据09年oi论文<<后缀数组——出来字符串的有力工具>>的
阅读全文
摘要:题目链接:http://poj.org/problem?id=3261 题意:约翰注意到奶牛产奶的之类是不断变化的,虽然他不能预测从当天到下一天的变化情况但是他知道变化是有规律的,牛奶的质量由一个整数表示,范围从0到1000000,现在给定一个长度为n的序列,要求找到一个最大子序列,该子序列重复出现
阅读全文
摘要:题目链接:http://poj.org/problem?id=1743 题意:给定一个钢琴的音普序列[值的范围是(1~88)],现在要求找到一个子序列满足 1,长度至少为5 2,序列可以转调,即存在两个子序列,满足一个子序列加/减一个数后可以得到另一个序列 3,两个序列不能有相交的部分。 题意简单来
阅读全文
摘要:题目链接:http://poj.org/problem?id=2418 题意:给定一堆树的名字,现在问你每一棵树[无重复]的出现的百分比,并按树名的字典序输出 思路:最简单的就是用map来写,关于字典树的解法,因为字典序的先序遍历是排序的,所以只需建好树后先序遍历一下树就可以满足题目要求的输出方式了
阅读全文
摘要:题目链接:http://poj.org/problem?id=2503 题意:给定一个词典,输入格式为[string1' 'string2] 意思是string2的值为string1。 然后给定一波字符串问你该字符串在字典的值是多少? 思路:字典树模板题。 叶子结点存放的是对应词典中的值。
阅读全文
摘要:题目链接:http://poj.org/problem?id=3274 题意+思路: 点击这里 补充:因为有减法运算,所以可能会造成运算后结果为负数,所以需要把结果统一转换成正数[不然数组下标访问不到负数位置],还有要先把0放入哈希表,不然会出现长度为1但是没有匹配的情况 比如:1 3 7 结果为1
阅读全文
摘要:题目链接:http://poj.org/problem?id=3349 题意:你可能听说话世界上没有两片相同的雪花,我们定义一个雪花有6个瓣,如果存在有2个雪花相同[雪花是环形的,所以相同可以是旋转过后相同]则输出“Twin snowflakes found.”,否则输出“No two snowfl
阅读全文
摘要:题目链接:http://poj.org/problem?id=1840 题意:公式a1x1^3+ a2x2^3+ a3x3^3+ a4x4^3+ a5x5^3=0,现在给定a1~a5,求有多少个(x1~x5)的组合使得公式成立。并且(x1~x5)取值再[-50,50]且不能为0 思路:因为x的值范围
阅读全文
摘要:题目链接:http://poj.org/problem?id=2785 题意:给定n行数字,每行4个数分别是a,b,c,d,现在要求能有多少个(a,b,c,d)组合并且和为0 思路:n^2统计所有(a+b),然后n^2统计(-1*(c+d)),再从(a+b)中找即可。注意map会超时。所以可以用Ha
阅读全文
摘要:题目链接:http://poj.org/problem?id=2002 题意:给定一个n个数字组成的序列,然后求出4个数使得a+b+c=d,求d的最大值。其中a,b,c,d要求是给定序列的数,并且不能重复拿同一个位置的数。 思路:先处理a+b,把a+b的组合和在序列的位置存起来。然后枚举d,c计算d
阅读全文
摘要:题目链接:http://poj.org/problem?id=2002 题意:给定n个点,问有多少种方法可以组成正方形。 思路:我们可以根据两个点求出对应正方形[有2个一个在两点左边,一个在两点右边]另外两个点的左边。例如 已知:(x1,y1) (x2,y2)则x3=x1+(y1-y2) y3= y
阅读全文
摘要:题目链接:http://poj.org/problem?id=1971 题意:给定n个坐标。问有多少种方法可以组成平行四边形。题目保证不会有4个点共线的情况。 思路:可以发现平行四边形的一个特点,就是对角线相交后得到的点。如果两点线的中点相交,那么这两条线就可以组成一个平行四边形[不需去排除4点共线
阅读全文

浙公网安备 33010602011771号