<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Prairial的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Prairial_0</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Prairial_0]]></copyright><item><title><![CDATA[HDU 3518 Boring counting - 后缀树]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8219976</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8219976</guid><author>Prairial_0</author><pubDate>Sat, 24 Nov 2012 16:25:32 +0800</pubDate><description><![CDATA[（其实这题我卡了一个月会乱说？）
基本就是参考之前的这篇文章。稍微多了点东西在里面。
另外，貌似我搜到的解题报告大都是用后缀数组的，不知道什么情况。


言归正传，建树的过程就不多说了，这里假设已经建立了目标字符串的后缀树。我们知道trie和后缀树是等价的，所以下文将不加区分的使用这两个概念。

如果想知道一个字符串中重复字串的个数，只需要把它的所有后缀插入到trie中（包括结束字符]]></description><category></category></item><item><title><![CDATA[后缀树]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8168837</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8168837</guid><author>Prairial_0</author><pubDate>Tue, 13 Nov 2012 16:17:29 +0800</pubDate><description><![CDATA[我是看这篇博文（Suffix Tree学习笔记）学后缀树的，作者写的很好，而且最后有个很实用的模板。
不过最近可能google大姨妈，一直打不开。网上有各种转帖，这里就不转了。
如果要学后缀树的话，还是去看原文或者看那个链接比较好。我这里也是对着那篇博文写的，图和例子也来自那篇博文。


对于一个字符串str[0,n)，只要将str[0,n)，str[1,n)，str[2,n)，str[]]></description><category></category></item><item><title><![CDATA[CF 149 div2感想]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8172623</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8172623</guid><author>Prairial_0</author><pubDate>Mon, 12 Nov 2012 01:43:01 +0800</pubDate><description><![CDATA[因为打麻将迟到了半个小时
前两题都很简单，不过不知道为什么第二个题直接找最大区间过不了，大概是哪写错了，然后硬排了个序才过。
虽然题很简单，但花的时间很长，这也是一贯的毛病了：做一件事时稍微想不下去就去干别的事。
等到第三题的时候已经只剩30分钟了。算法很简单，先合并线段，然后将合并后的线段作为图的顶点，SPFA两遍就行了：对于起点（或终点），任意一条合并后的线段到它的最短距离是可以求出来的]]></description><category></category></item><item><title><![CDATA[HDU 3038 How Many Answers Are Wrong - 并查集]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8130791</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8130791</guid><author>Prairial_0</author><pubDate>Wed, 31 Oct 2012 00:38:12 +0800</pubDate><description><![CDATA[坦白讲，这题如果不是放到并查集这一讲的话，我根本不会想到用的。
有前几题的经验，本题就非常简单了：find(t)表示t所在集合的左端点，sum[t]表示t到find(t)这一区间的区间和。为了方便，我统一使用了左闭右开区间，这样直接区间操作的时候直接减就行了。压缩路径的时候对sum进行处理。
当然由于find(t)是t的左端点，所以在合并的时候一定要注意标记元素要选择较小的一个。
至于出错就]]></description><category></category></item><item><title><![CDATA[HDU 3047 Zjnu Stadium - 并查集]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8130503</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8130503</guid><author>Prairial_0</author><pubDate>Tue, 30 Oct 2012 22:32:26 +0800</pubDate><description><![CDATA[这个题本质上和3635是一样的，到不如说比那个还简单的多:只要记录每个观众相对于自己所在集合的标记元素的偏移，在压缩路径时注意偏移的累加即可。如果新规则的两个观众已经在同一个集合内（在同一集合表示他们之间有严格的顺序关系），则判断新规则是否和原来的规则兼容（(off[a]+x)%300 == off[b]），不兼容则累计错误。
同样这道题我也浪费了很长时间，其一是误以为合并到同一集合的观众一定要]]></description><category></category></item><item><title><![CDATA[HDU 3635 Dragon Balls - 并查集]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8127877</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8127877</guid><author>Prairial_0</author><pubDate>Tue, 30 Oct 2012 13:16:49 +0800</pubDate><description><![CDATA[这个题我做了很长时间，主要是英语没学好。
T A B : All the dragon balls which are in the same city with A have been transported to the city the Bth ball in. You can assume that the two cities are different.

意思是把A球所在城市的]]></description><category></category></item><item><title><![CDATA[HDU 2553 N皇后问题 - dancing links]]></title><link>https://blog.youkuaiyun.com/Prairial_0/article/details/8127826</link><guid>https://blog.youkuaiyun.com/Prairial_0/article/details/8127826</guid><author>Prairial_0</author><pubDate>Tue, 30 Oct 2012 13:00:32 +0800</pubDate><description><![CDATA[打表是最快的做法。退而求其次，直接搜就行了，注意下减枝即可。用DLX纯粹是为了套模板。
皇后问题的行列约束很容易转化成01矩阵的列，但对角约束却比较麻烦，因为可能不必完全满足：比如5*5的棋盘，有5行5列，这些要全部不重不漏的满足，但正对角线却有9条，而且只要不重就行了。反对角线亦然。
所以在每一步搜索的过程中，选择约束列的时候，只要选行约束的列和列约束的列就行了（第90行）；结束的条件也由稀]]></description><category></category></item></channel></rss>