摘要:
这里用的是KMP字符串匹配算法,然后用DP求解。 next[i]记录的是 长度为i 不为自身的最大首尾重复子串长度 num[i]记录长度为next[i]的前缀所重复出现的次数 阅读全文
posted @ 2016-11-10 20:53
XiaoLuoHe
阅读(119)
评论(0)
推荐(0)
摘要:
题意:给一块n*m的巧克力,Alice只能垂直切,切成A*m和B*m,并且A+B=n,Bob只能横切,只能切成A*n和B*n,并且A+B=m。 对于n*n的这种巧克力,谁先切了第一刀,就直接让对方有切两刀的机会,所以Alice不可能去切这种巧克力,可以直接无视这种。 后一人会尽量选前一人切后小的一块 阅读全文
posted @ 2016-11-10 20:49
XiaoLuoHe
阅读(147)
评论(0)
推荐(0)
摘要:
对于不互质的模线性方程组,可以进行方程组合并,求出合并后的方程的解,这样就可以很快地推出方程的最终解。两个方程合并的一种方法:x = c1 (mod b1)x = c2(mod b2) 此时b1,b2不必互质的。显然可以得到x = k1 * b1 + c1 x = k2* b2 + c2,两个方程合 阅读全文
posted @ 2016-11-10 20:46
XiaoLuoHe
阅读(119)
评论(0)
推荐(0)
摘要:
1 题目要求的是给定一个字符串,问我们还需要添加几个字符可以构成一个由n个循环节组成的字符串。 2 可知我们应该先求出字符串的最小循环节的长度:假设字符串的长度为len,那么最小的循环节就是cir = len-next[len] ; 如果有len%cir == 0,那么这个字符串就是已经是完美的字符 阅读全文
posted @ 2016-11-10 20:37
XiaoLuoHe
阅读(110)
评论(0)
推荐(0)
摘要:
第一个人从左到右连接蓝点 第二个人从上到下连接红点 轮流进行 看最后谁的线最多则赢 我们可以发现,只要是先手,那么连的线一定是最多了。 阅读全文
posted @ 2016-11-10 20:35
XiaoLuoHe
阅读(145)
评论(0)
推荐(0)
摘要:
题意:给你一个环,由n个硬币组成,每次只可取连续的1~k个硬币,问你谁有取胜策略。 我们可以利用对称性解题,第一个玩家怎么取,第二个玩家在对称点取一样的,这样先手必败。 阅读全文
posted @ 2016-11-10 20:34
XiaoLuoHe
阅读(106)
评论(0)
推荐(0)
摘要:
题目要求s1+s2+s3+...+sn;si表示n划分i个数的n的划分的个数,如n=4,则s1=1,s2=3 假设An=s1+s2+s3+...+sn; 对于n可以先划分第一个数为n,n-1,n-2,...,1,则容易得出An=A0+A1+A2+A3+...+A(n-1); =>A(n+1)=A0+ 阅读全文
posted @ 2016-11-10 20:32
XiaoLuoHe
阅读(165)
评论(0)
推荐(0)
摘要:
这题n方可过,显然满足条件的区间必是含奇数个数的区间,对于每个数,先往右扫一遍,求得其右边比其大的和比其小的数的个数的差x,然后再往左扫一遍,求其左边比起小的数和比起大的数的差,若一个数在这个区间为中位数,则若其右边比它大的比比它小的多x(有点绕),则其左边相反小的要比大的多x,这样x才能正好在中间 阅读全文
posted @ 2016-11-10 20:29
XiaoLuoHe
阅读(91)
评论(0)
推荐(0)
摘要:
枚举走的步数,假如为x 那么,对于行,我要从1通过x步走到n 对于列,我要从1通过x步走到m 这两个操作是独立的,所以可以乘起来 那么现在题目就变成了,求从1到n通过x步的方案数,其实就是把n-1个一样的小球放到x个不一样的箱子中,箱子不能留空的方案数,也就是一个经典的排列组合问题了 阅读全文
posted @ 2016-11-10 20:27
XiaoLuoHe
阅读(103)
评论(0)
推荐(0)
摘要:
一道求逆元的题目,先用O(n)的时间求出每个位置处的hash值 对于每个输入a和b ans = hash(b)/hash(a-1); 这里需要使用求逆元的知识, 用扩展欧几里德,或是费马小定理 我写的是费马小定理的版本,下次写一个欧几里德的版 阅读全文
posted @ 2016-11-10 20:24
XiaoLuoHe
阅读(128)
评论(0)
推荐(0)

浙公网安备 33010602011771号