摘要:
嘟嘟嘟 这很显然是一道dp题。 令dp[i][j]表示第 i 分钟末,疲劳度为 j 是的最大跑步距离,则 dp[i][0] = max(dp[i - 1][0], max(dp[i - j][j])) dp[i][j] = max(dp[i - 1][j - 1] + a[i]) 因为题中说即使疲劳 阅读全文
posted @ 2018-08-28 20:10
mrclr
阅读(245)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 当看到n <= 50 的时候就乐呵了,暴力就行了,不过最暴力的方法是O(n7)……然后加一个二分边长达到O(n6logn),然后我们接着优化,把暴力比对改成O(1)的比对hash值,能达到O(n5logn),到勉强能过……不过我们还可以在优化一下,把第一个矩阵中所有边长为 l 的子矩阵的ha 阅读全文
posted @ 2018-08-28 16:40
mrclr
阅读(120)
评论(0)
推荐(0)
摘要:
嘟嘟嘟 首先想想暴力的做法,枚举加入的字符,然后判断删去这个字符后两个长度为n / 2的字符串是否相等,复杂度O(n2)。 所以可以想办法把判断复杂度降低到O(1),那自然就想到hash了。hash是能做到O(n)预处理,然后O(1)比较的。 取一段的hash值:hash[L, R] = hash[ 阅读全文
posted @ 2018-08-28 15:48
mrclr
阅读(185)
评论(0)
推荐(0)
摘要:
这里发一下luogu线段树2的代码~~ 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring> 6 #include<cstdlib> 7 #include 阅读全文
posted @ 2018-08-28 08:44
mrclr
阅读(196)
评论(0)
推荐(0)

浙公网安备 33010602011771号