Loading [MathJax]/jax/output/HTML-CSS/jax.js

[CF 965E]Short Code

你有n个两两不同的串,你要将每个串变成其的一个前缀,使得变换后的所有串仍然两两不同,并且所有串长度和尽可能小,输出这个和。

n105,所有串长之和不超过105

继续阅读

[BZOJ 1212]L语言

这个感觉本质上和那个Remember a Word很像吧……

不过这个只是求最长可行前缀,递推即可。

代码:

[LA 3942]Remember the Word

Trie第一题……

首先,容我吐槽一下UVa这个OJ,速度特别感人(同学们可以实践一下)。

这个题最容易想到的是的DP——对于,枚举其前缀查是否为单词,然后转移。但是啊……对于这种方法肯定会T飞。

然后我们可以考虑使用Trie优化DP。对于每个,在前缀树中查找之,就能找到所有可以作为其前缀的单词。由于每个单词最大长度也只是100,所以查找会很快辣~

代码: