技巧
BACKUP_zw
github: github.com/zhewang95
blog: zhewang95.github.io
展开
-
soj2164Problem B:爱恨就在一瞬间
据说soj外网访问不了,那就贴题目吧原创 2014-11-10 20:41:22 · 553 阅读 · 0 评论 -
soj2062 prison break
学会了快速求幂大法原创 2014-11-04 22:07:04 · 290 阅读 · 0 评论 -
UVA - 10635 Prince and Princess
好题,一道题目复习了多个知识点 首先一看就是lcs,可以用n*n的dp来做,但一看数据量,n可以到10000,虽然空间可以优化,但绝对要超时。于是就只能先把lcs 转化成lis再用nlgn的算法求出来。 首先,将lcs转化成lis: 将s1中的数字在s2中出现的位置记下来并由大到小排列,然后用排列后的数组替换s1中该数字出现的所有位置,这题各个数字都是不同的,所以做着非常方便,注意如果数字重原创 2015-04-08 20:19:22 · 324 阅读 · 0 评论 -
uestc data structure training f 秋实大哥与妹纸
内存限制是1500k,开始我用的分治法,O(n)的空间复杂度,O(nlgn)的时间复杂度,结果怎么都超时,看来还是要减小空间复杂度,后经胡巨巨提醒,发现了更好的解法.先用前一半的数据建立一个大根堆,再处理剩下的一半:如果比s[0]大,直接舍去,如果比s[0]小,直接替换掉s[0],再维护堆性质,这样到最后,堆顶的元素刚好是中位数。时间复杂度不变,空间复杂度一下子降到原来的一半,实在是太牛逼的算法了原创 2015-04-17 16:12:27 · 663 阅读 · 0 评论