UVA 1328 - Period
题目链接
题意:给定一个字符串,求出有几个位置的前缀串是由个数大于1的串循环得到的,求出位置和循环次数
思路:利用kmp的next数组的性质,i - next[i]就是循环长度,然后判断一下是不是正好是倍数即可
代码:
#include
#include
const int N = 1000005;
int n, next[...
分类:
其他好文 时间:
2014-08-01 13:49:11
阅读次数:
171
又见并查集。这个是稍微有点难的并查集。因为多了敌对关系。所以开辟了2n的数组来存放。0-n代表结盟集合,n-2n代表敌对集合....
分类:
其他好文 时间:
2014-08-01 13:46:01
阅读次数:
199
Given an array, your task is to find the k-th occurrence (from left to right) of an integer v. To make the problem more difficult (and interesting!), you'll have to answer m such queries.
Input
Ther...
分类:
其他好文 时间:
2014-08-01 13:42:11
阅读次数:
170
题意 k个人复制m本书 求最小的时间 即把m个数分成k份 使和最大的那份最小
d[i][j]表示i个人完成前j本书需要的时间 有转移方程d[i][j]=min(d[i][j],max(d[i-1][k],s[j]-s[k])) k表示i-1到j之间的所有数 s[k]表示从第一本书到第k本书需要时间的和 初始d[1][i]=s[i];...
分类:
其他好文 时间:
2014-08-01 10:57:11
阅读次数:
199
UVA 11732 - strcmp() Anyone?
题目链接
题意:给定一些字符串,要求两两比较,需要比较的总次数(注意,如果一个字符相同,实际上要还要和'\0'比一次,相当比2次)
思路:建Trie树,每次建树过程中,后继后继结点就是相同结点需要比较两次ans + val * 2,否则就是不同结点ans + val,建完树就计算完了
代码:
#include ...
分类:
其他好文 时间:
2014-08-01 02:27:00
阅读次数:
220
题意 编写一个解码程序 对数字串进行解码
输入第一行是一个解码key key从左到右每个字符分别对应0,00,01,10,000,001,011,100,101,110,0000,0001,...,1101,1110,00000,.......
长度为len的字符编码有2^n-1个 而且恰好以二进制方式从0到2^n-2递增 而且字符编码的最大长度为7 可以有2^7-1=127个字符
我们只需开一个key[len][val]数组 里面存的是长度为len的第val+1个字符编码 然后解...
分类:
其他好文 时间:
2014-08-01 00:11:20
阅读次数:
480
刘汝佳《算法竞赛入门经典(第2版)》第三章数组和字符串中,所有UVa习题的题解汇总。...
分类:
其他好文 时间:
2014-08-01 00:04:50
阅读次数:
335
uva 10168 Summation of Four Primes(数论-哥德巴赫猜想)
题目大意:
给定一个数n,问你是否能用4个质因素相加表示,输出一种方案。
解题思路:
(1)如果n=8,结论是有答案。
因为按照哥德巴赫猜想,一个偶数可以用两个质因素相加表示。
那么,toyking猜想,一个数可以用4个质因素相加表示。
1. n为奇数,可以 用 2+3+偶数表示,偶数可以拆为两个质因素,枚举其中一个即可。
2. n为偶数,可以 用 2+2+偶数表示,偶数可以拆...
分类:
其他好文 时间:
2014-07-31 20:59:17
阅读次数:
191
uva 10290 {Sum+=i++} to Reach N (数论-整数和素数)
题目大意:
问一个数n用连续的几个数相加表示的方案数。
解题思路:
假设首项为a,有m项,则 (a+a+m-1)*m=2*n,所以为奇数*偶数的结果,只需要算出2*n用奇数表示的方法数即可。...
分类:
其他好文 时间:
2014-07-31 20:49:07
阅读次数:
179