上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页
摘要: description [题面][1] solution 跟着各位dalao写了一下线段树分治的题 我们把修改和询问按照时间建立线段树分治, 对于每一个修改标记永久化,对于每一个区间进行区间覆盖 主要的想法就是对每一个线段树节点开一个$vector$记录所有的修改和询问 在线段树上的一条链上插入修改 阅读全文
posted @ 2018-07-27 20:37 cjfdf 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 前言(2019.1.6) 已经是二周目了呢... 之前还是有一些东西没有理解到位 重新写一下吧 后缀自动机的一些基本概念 "参考资料和例子 from hihocoder" "DZYO神仙翻译的神仙论文" 简而言之,后缀自动机(SAM),是一个有限状态自动机(DFA) 搬一个图下来(这是字符串$aab 阅读全文
posted @ 2018-07-25 21:26 cjfdf 阅读(641) 评论(0) 推荐(0) 编辑
摘要: description [题面][1] 求给定字符串的第$k(k\le 10^9)$大子串。无解输出 1,$n\le 5\times 10^5$ 分不同位置的相同子串算作一个,不同位置的相同子串算作多个两种情况 solution 我们首先要建立一个$SAM$... 由于$SAM$相当于一个放了当前字 阅读全文
posted @ 2018-07-24 21:25 cjfdf 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 高维前缀和可以求出关于一个集合子集(或超集)的状态的和 从低到高枚举位数,之后枚举集合中的所有元素 总复杂度为$O(n2^n)$ cpp int n,f[1048576];//n为位数 for(RG int i=0;i 阅读全文
posted @ 2018-07-23 11:26 cjfdf 阅读(377) 评论(0) 推荐(0) 编辑
摘要: description [题面][1] solution 把所有字符串凑成一堆做后缀数组(中间隔开) 从高往低枚举$LCP$的长度$k$,把$Height==k$的两个后缀使用并查集连接, 查询$size$即可得到以对应长度单词为前缀的后缀个数,即出现次数 code cpp include incl 阅读全文
posted @ 2018-07-23 11:18 cjfdf 阅读(176) 评论(0) 推荐(0) 编辑
摘要: description [题面][1] solution 主要算法是扩展中国剩余定理,但细节较多 快速乘 求同余方程的通解 需要注意同余方程$ax\equiv b(mod\ p)$的通解 求出一个特解$x_0$后,应该有$x=x_0\pm\frac{p}{g}$ 因此最后解出的同余方程应该是$x\e 阅读全文
posted @ 2018-07-21 08:58 cjfdf 阅读(479) 评论(0) 推荐(0) 编辑
摘要: 什么是后缀数组 后缀数组$sa[i]$表示字符串中字典序排名为$i$的后缀位置 $rk[i]$表示字符串中第$i$个后缀的字典序排名 举个例子: 那么就有$sa[rk[i]]=rk[sa[i]]=i$ 后缀数组的求法 二周目 倍增法 看一会儿还是比较好记的 但没有理解每句话是在干什么的话以后再写就会 阅读全文
posted @ 2018-07-19 20:33 cjfdf 阅读(331) 评论(0) 推荐(1) 编辑
摘要: description [题面][1] 我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树。 考虑一个含有$n$个互异正整数的序列$c[1],c[2],...,c[n]$。 如果一棵带点权的有根二叉树满足其所有顶点的权值都在集合$\{c[1],c[2],...,c[n]\}$中,我们的小朋友就会将其称 阅读全文
posted @ 2018-07-18 20:12 cjfdf 阅读(282) 评论(0) 推荐(0) 编辑
摘要: description [题面][1] 给定$n$,求$$f(n)=\sum_{i=0}^n\sum_{j=0}^i S(i,j)\times 2^j \times (j!)$$ data range $$1≤n≤100000$$ solution 第二类斯特林数及其递推式和展开式 $S(n,m)$ 阅读全文
posted @ 2018-07-16 20:36 cjfdf 阅读(189) 评论(0) 推荐(0) 编辑
摘要: description [题面][1] 周末同学们非常无聊,有人提议,咱们扔硬币玩吧,谁扔的硬币正面次数多谁胜利。 大家纷纷觉得这个游戏非常符合同学们的特色,但只是扔硬币实在是太单调了。 同学们觉得要加强趣味性,所以要找一个同学扔很多很多次硬币,其他同学记录下正反面情况。 用H表示正面朝上,用T表示 阅读全文
posted @ 2018-07-16 16:47 cjfdf 阅读(166) 评论(0) 推荐(0) 编辑
上一页 1 ··· 4 5 6 7 8 9 10 11 12 ··· 15 下一页