最易懂的题解
题目描述
我洛谷上的博客
做题时的垂死挣扎
最先看到这道题,非常开心。哈哈一笑,暴力,然后快乐TLE
请大家以我为戒,做题前先看标签。
然后在看到DP后,我傻眼了。(我打的就是dp啊,怎么会错一个点)
我盯着电脑,看着题,想了50多分钟无关的事后。。。我终于开始了打代码
思路
读入时需要注意一下字符串的技巧。
然后你就暴力循环dp
我最开始TLE一个点是因为,我顺便把连成长度为 K 的前缀的方法总数也顺便求了一下
具体方法
每向后移一个字母,就循环一下元素,看看当前元素是否与这序列 从当前位置向前遍
历所的串相等
for(k = i;k > i - a[j].k[11];k--)
{
it--;
if(a2[k] != a[j].k[it])
{
able = 1;
break;
}
}
且
dp[k - 元素.size()] == 1
才将
dp[k] = 1;
最后再在一些地方适当优化就可以AC了
我的方法
#include <cstdio>