上一页 1 2 3 4 5 6 7 8 9 ··· 29 下一页
摘要: P3649 [APIO2014]回文串 根据后缀链接,形成的回文树,对于每一个节点,其子树大小(包括该节点)即为该回文串的出现次数。 // Created by CAD #include <bits/stdc++.h> #define ll long long using namespace std 阅读全文
posted @ 2020-07-29 16:10 caoanda 阅读(110) 评论(0) 推荐(0) 编辑
摘要: Fibonacci Sum 利用斐波那契通项求和,并二项式展开即可。其中求斐波那契需要用到二次剩余求根号5的值。 // Created by CAD #include <bits/stdc++.h> #define ll long long using namespace std; const in 阅读全文
posted @ 2020-07-29 10:33 caoanda 阅读(159) 评论(0) 推荐(0) 编辑
摘要: B. Binary Vector $f_n$的意思是随机生成 n 个 n 维向量,这 n 个向量线性无关的概率。 线性无关指的是向量之间不能相互表示,既不存在解(至少要有一个 k 非0)使得$k_1\vec+...+k_n\vec=0$这个式子成立。 依次选取n个向量: 第一个向量非零即可,有$2n 阅读全文
posted @ 2020-07-28 10:20 caoanda 阅读(456) 评论(0) 推荐(0) 编辑
摘要: C. Count New String 参考:Count New String(广义SAM) 把所有的字符串都存进去,然后再求出不同的子串个数即可。 // Created by CAD #include <bits/stdc++.h> #define ll long long using names 阅读全文
posted @ 2020-07-26 14:33 caoanda 阅读(154) 评论(0) 推荐(0) 编辑
摘要: P3804 【模板】后缀自动机 (SAM) 参考: 不同子串个数 用d[i]来表示该状态点是否为终止点,最后利用每个点的后缀链接形成一棵树,每个点所表示的最长字符串都是其子树中各节点的最长公共后缀。 // Created by CAD #include <bits/stdc++.h> using n 阅读全文
posted @ 2020-07-26 13:58 caoanda 阅读(147) 评论(0) 推荐(0) 编辑
摘要: Watchcow 从任意一个节点开始,求一个欧拉回路即可。 // Created by CAD #include <iostream> #include <vector> #include <map> #define pii pair<int,int> #define fi first #defin 阅读全文
posted @ 2020-07-24 21:50 caoanda 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 二次剩余 参考: 二次剩余Cipolla算法学习笔记 #include <bits/stdc++.h> using namespace std; const int mod=1e9+9; namespace TwoRemain { template <typename A, typename B> 阅读全文
posted @ 2020-07-22 12:42 caoanda 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 字典树 字典树比较普通字符串比较而言,字符的可操作性更强 const int maxn=5e5+5; //maxn为总结点个数,不是总深度 struct trie{ int nex[maxn][26],cnt=0; bool exist[maxn]; void insert(string s){ i 阅读全文
posted @ 2020-07-21 11:45 caoanda 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 于是他错误的点名开始了 直接用字典树维护即可,不过这个题其实直接用map也能过… 字典树: // Created by CAD #include <bits/stdc++.h> using namespace std; const int maxn=5e5+5; struct trie{ int n 阅读全文
posted @ 2020-07-21 09:34 caoanda 阅读(100) 评论(0) 推荐(0) 编辑
摘要: G. Operating on a Graph 这道题需要注意的点是,合并的时候需要用链表$O(1)$进行合并或者用 vector 启发式合并,这样才不至于复杂度过大,另外,去重的时候,如果用哈希 map 会导致超时,而用 map 则不会 // Created by CAD #include <bi 阅读全文
posted @ 2020-07-19 23:44 caoanda 阅读(145) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 29 下一页