procedure2012
It's not worth it to know you're not worth it!

随笔分类 -  URAL

URAL
[URAL1042 Central Heating]
摘要:[关键字]:数学 异或方程组[题目大意]:有n各工人n各水管,每个工人可以对某几个水管进行反操作(开变关关变开),问需要操作那些人才会大开所有水管。//==================================================================================[分析]:看懂题目后不难可以列出下面这个方程组: x1*a[1,1] xor x2*a[1,2] xor x3*a[1,3] xor …… xor xn*a[1,n]=1 x1*a[2,1] xor x2*a[2,2] xor x3*a[2,3] xor …… xor xn*a[2, 阅读全文
posted @ 2012-04-16 20:54 procedure2012 阅读(414) 评论(0) 推荐(0)
[URAL1416 Confidential]
摘要:[关键字]:次小生成树[题目大意]:求出给出图的最小和次小生成树。//=============================================================================[分析]:http://www.cppblog.com/MatoNo1/archive/2011/06/25/147627.html#149420讲的又清楚又详细,ORZMato大神![代码]:kurscal#include<iostream>#include<cstdio>#include<cstdlib>#include<cst 阅读全文
posted @ 2012-04-14 00:50 procedure2012 阅读(179) 评论(0) 推荐(0)
[URAL1517 Freedom of Choice]
摘要:[关键字]:后缀数组 字符串[题目大意]:给定两个字符串A 和B,求最长公共子串。//==============================================================================[分析]:求两个字符串的最长公共子串实际上就是求两个字符串的两个后缀的最长公共前缀。所以把两个字符串连起来中间用一个没出现的字符(小于任何一个原字符串中的字符)连起来,最后再加上一个字符(小于任何一个字符)。然后求这个新串中的最长公共前缀,依次枚举每个i求出符合sa[i-1]在一串,sa[i]在二串的所有height的最大值。[代码]:View Code 阅读全文
posted @ 2012-03-29 18:59 procedure2012 阅读(282) 评论(0) 推荐(0)
[URAL1297 Palindrome]
摘要:[关键字]:后缀数组 字符串[题目大意]:求出给定字符串的最长回文串。//========================================================================[分析]:首先把字符串反转(T')接到原串(T)后边中间用‘~’分割(大于所有字符串中元素就行),最后用'$'结束(小于所有字符)。然后枚举T串中的每一个位置i找到T'中对应的位置i'假设以i为中心有一个长度为2r的回文串,那么T[i-r,i-1]=T[i+1,i+r]=T[i'+1,i'+r](画一下就明白了)。所以找以i 阅读全文
posted @ 2012-03-28 11:43 procedure2012 阅读(326) 评论(0) 推荐(0)