摘要:
``` /* hdu5536 Trie树求异或最大 Author:lcy Time:2017-10-18 给出n个数,求max{(si+sj)^sk},其中i,j,k不相等 把n个树的二进制加入Trie树(先加入高位,满足贪心性质),然后枚举si+sj, 在Trie树中尽量寻找每一位都与si+sj不同的值 注意,如果把si+sj加入Trie树,再去枚举sk,会超时。 */ #include #... 阅读全文
摘要:
``` /* poj3481 splay Author:lcy Time:2017-10-11 裸题 */ #include #include #include #include #include #include using namespace std; #define ll long long #define fr(i,a,b) for(int i=a;i=b;i--) #defi... 阅读全文
摘要:
``` / bzoj1588 splay Author:lcy Time:2017 10 11 264ms...好慢 splay裸题,每次把新值加入树中时,获取他的排名,然后 找到排前一位和后一位的值分别和他做差,取最小值后加到答案上 每个节点用一个cnt记录相同元素的个数。 / include u 阅读全文
摘要:
``` /* POJ1743 后缀数组 求字符串中至少重复1次或者且不重叠的最长长度 这里重复指的是两个字符串对应位置相减的差相等。 读入字符串后,前一位减后一位,生成一个新的字符串,转化为求不重合最长重复子川问题 (对应位置相减的差相同,意味着两个字符串增长的趋势相同,所以 一上来相减相当于把趋势给提炼出来)太菜给跪 Author: lcy Time: 2017-10-6 */ #includ... 阅读全文
摘要:
``` / Author: lcy Time: 2017 10 6 Hihocoder1407 后缀数组 求字符串中至少重复1次且不重叠的最长长度 与之前的题目一样,只不过这次加上了“不重叠”这个条件 最长长度满足二分答案的条件,即如果不存在长度a的连续序列满足 条件,那么长度大于a的连续序列更不可 阅读全文
摘要:
``` /* Author: lcy Time: 2017-10-5 Hihocoder1403 后缀数组 求字符串中至少重复k次最长的长度 既然重复,那么假如把后缀排好序,重复的片段一定在一个区间内 一段连续LCP区间内的最小值即为该区间内最长的公共前缀 现在已知了LCP,问题转化为求长度至少为k的连续区间内LCP的最小值的最大值 因为增加区间长度,并不会使该区间的最小值更大,即不会使得结果... 阅读全文
摘要:
``` /* Author : lcy Time : 2017-10-2 poj1236 强连通分量 给出一个有向图,有两问: 1.第一问转化为求入度为0的点的个数 2.第二问在缩点后,转化为求最少添加多少条边,使得DAG转化为强连通图 max(入度为0的点的个数,出度为0的点的个数)为第二问的答案 要想转化为强连通图,图中至少存在一回路包含所有的点,所以入读为0或出度为0的点 都应是不存在的,所... 阅读全文
摘要:
``` /* poj2186 强连通分量缩点 Author : lcy Time : 2017-10-1 *菜鸡的第一道强连通分量题 牛A对牛B存在喜欢关系,并且这种关系具备传递性。给出所有喜欢关系,问有多少只牛被所有牛喜欢。 参考:http://blog.csdn.net/mengxiang000000/article/details/51613914 跑一遍tarjan,将每个强连通分量缩成一... 阅读全文
摘要:
``` / hdu2594 给你两个字符串a与b,求a的前缀与b的前缀相同的最长长度。 可以马上联想到MP算法中的f数组,其中f[i]正是s[0...i]中前缀与后缀相同的最长长度 把两个字符串连在一起, 中间加了一个特殊符号 ,这样保证前缀与后缀不会跨越两个字符串 多组数据,需要每次将f清零,不然 阅读全文
摘要:
``` /* poj3691 AC自动机 dp lcy 2017-9-24 给出多个危险基因串,再给出一个基因串,求最少修改几次基因串使得其上不包含危险基因串。 dp部分已给出超详细注释 最重要的一点,AC自动机上的每个点都对应一个状态,状态之间通过字符转移。(个人粗浅理解) */ #include #include #include #include #include #includ... 阅读全文