【传送门:BZOJ3172】 简要题意: 给出n个字符串,求出每个字符串在这n个字符串中出现的次数 题解: 很容易就想到AC自动机,但是单单是AC自动机还不行 这时就要用AC自动机的延伸——fail树来做(时常膜一膜算法,有益身体健康) fail树这个玩意就是将AC自动机中fail指针当成是一条边, ...
分类:
其他好文 时间:
2017-12-24 15:52:51
阅读次数:
128
【传送门:BZOJ3174】 简要题意: 给出n个人,给出每个人的身高a[i],手长b[i],他们被困在了高为h的井里,他们可以搭人梯,人梯的长度为(假设当前人梯的人的编号为1到k的话) a[1]+a[2]+a[3]+...+a[k]+h[k],如果人梯长度大于h,则第k个人能逃走,逃走了之后就不会 ...
分类:
其他好文 时间:
2017-12-07 15:03:23
阅读次数:
184
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3172 题解: 把单词逐个接起来,中间用互不相同的字符连接,并记录下每个单词的首字母在串中的位置。 (因为太多,所以转成int数组,用大数连接)然后计算出 sa[],rak[],hei[]数组。... ...
分类:
其他好文 时间:
2017-12-06 19:51:42
阅读次数:
132
题目描述 草原上住着一群小松鼠,每个小松鼠都有一个家。时间长了,大家觉得应该聚一聚。但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理。 每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为点(x,y)和它周围的8个点(x-1,y)(x+1,y),(x,y-1),(x,y+1).(x-1,y+ ...
分类:
其他好文 时间:
2017-11-30 21:43:38
阅读次数:
220
Description 给定一个序列,初始为空。现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置。每插入一个数字,我们都想知道此时最长上升子序列长度是多少? Input 第一行一个整数N,表示我们要将1到N插入序列中,接下是N个数字,第k个数字Xk,表示我们将k插入到位置Xk( ...
分类:
其他好文 时间:
2017-11-29 10:21:34
阅读次数:
178
【题意】给定ai,将1~n从小到大插入到第ai个数字之后,求每次插入后的LIS长度。 【算法】树状数组||平衡树 【题解】 这是树状数组的一个用法:O(n log n)寻找前缀和为k的最小位置。(当数列中只有0和1时,转化为求对应排名的数字,就是简单代替平衡树) 根据树状数组的二进制分组规律,从大到 ...
分类:
编程语言 时间:
2017-11-28 15:36:25
阅读次数:
232
题目描述 一个数字的数字根定义为:这个数字每一位的数字加起来求和,反复这个过程直到和小于10。例如,64357的数字跟为7,因为6+4+3+5+7=25,2+5=7个区间的数字根定义为这个区间所有数字和的数字根。 给定一个序列A1,A2,A3,…,An,你需要回答一些询问。每一个询问给定个区间[L, ...
分类:
其他好文 时间:
2017-11-27 21:43:43
阅读次数:
190
题目描述 小A最近迷上了在上课时玩《黄金矿工》这款游戏。为了避免被老师发现,他必须小心翼翼,因此他总是输。在输掉自己所有的金币后,他向你求助。每个黄金可以看做一个点(没有体积)。现在给出你N个黄金的坐标,挖到它们所需要的时间以及它们的价值。有些黄金在同一条直线上,这时候你必须按顺序挖。你可以瞬间把钩 ...
分类:
其他好文 时间:
2017-11-26 21:02:55
阅读次数:
209
1~n<=1e5依次插入序列中某一个位置,求每次插入后的最长上升子序列。 因为新插入的数对前面插入的答案没影响,所以只要能想方设法构造出最终序列即可。 方法一:平衡树!。。。。 方法二:在树状数组上倍增求第K大 然而LIS写残了。。记得是lowerbound不是upper。。 然后最后输出记得和前面 ...
分类:
其他好文 时间:
2017-10-20 10:12:38
阅读次数:
158
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3172 对这$n$个串建立AC自动机,求每个串的出现次数。 我们在建立时对每一个经过的节点sum++,然后在fail树上从叶子节点不断向上更新,因为父亲节点代表的是孩子节点的一个后缀,所以孩子 ...
分类:
其他好文 时间:
2017-10-07 22:02:51
阅读次数:
165