摘要: kmp。 字符串的题都好难啊。 进行一次kmp,用一个dp[i]数组记录前缀中前缀匹配后缀的数量(算本身) 同时进行一个类似kmp的过程,用变量k表示满足长度限制后,最长的匹配前缀和后缀。 则num[i]=dp[k]。为什么呢? 首先变量k满足了长度限制,dp数组记录了匹配串的数量。dp多的1正好可以充当目前的前缀和后缀。 字符串的题都好难啊。。 #include #... 阅读全文
posted @ 2016-06-30 23:43 invoid 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 树链剖分。 这道题就写个dfs序,乱搞一下就过了。 简单型的树剖 #include #include #include using namespace std; const int maxn = 200000 + 10; const int maxm = 400000 + 10; int g[maxn],v[maxm],next[maxm],eid; int size[maxn],so... 阅读全文
posted @ 2016-06-30 18:13 invoid 阅读(391) 评论(0) 推荐(0) 编辑