挑几题写的少的说一下
A:4:3
B:谁是冠军?
floyd + 打印路径 以前一模一样的做到过 有木有
/acmhome/contest.do?&method=contestDetail&contestId=558
E题一摸一样
C:滚动特效
D:回文数列
LCS 转换成LIS
a数组数输入的
b数组是a的逆序
例如 a 1 1 2 2 b 2 2 1 1
首先因为每个数小于100
对于a数组每个数 找到b对应的位置 所以 1 对应 3 4 (b数组的1在3 和 4 的位置) 2 对应1 2
然后a数组就变成了 4 3 4 3 2 1 2 1 (每个数对应的位置要倒过来 比赛的时候没倒过来就错了 唉)
对新的 数组做对应的LIS即可 用2分求出LIS
http://blog.csdn.net/u011686226/article/details/16911669
E:My Trim Function
F:手机上网流量
G:计算面积
H:Poker Solitaire Game
I:发了发了
J:Jumping Castle
K:The Longest Indentical Sub-String
看了后缀数组 是裸的运用 求出后缀数组 在求出最长公共子前缀 数组
然后有t个询问 每个后缀j和k j和k的最长公共前缀等于 height[rank[k]+1] ,height[rank[j]+2]......height[rank[k]]的最小值
求是求数组一段最小值 可以用线段树或者ST算法求 randygx用的是线段树 我用了ST
应该是学了后缀数组 就知道怎么写了 概念有点多 设计的数组也比较多 不好说 感觉后缀数组还是要会的
randygx 的解法 hash + 二分 http://blog.163.com/moon_goddess_2003/blog/static/225157172201310251192547/
L:A VS B