上一页 1 2 3 4 5 6 7 8 ··· 29 下一页
摘要: 最小表示法 参考:最小表示法 目的:O(n)求出一个序列循环同构中最小的那一个(在字符串中表示为字典序最小的一个循环同构) 优化内容:i,j 分别是当前比较的起始下标,k 是已比较的个数。当前假设$A_{i+k}>B_{j+k}$,那么对于$i+p(i\le i+p\le i+k)$起始的字符串,$ 阅读全文
posted @ 2020-08-16 16:44 caoanda 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 1001 Tokitsukaze, CSL and Palindrome Game 比较字典序的时候考虑树上倍增,用树上倍增的时候要保证路径相同,所以把路径哈希一下,直接比较即可 但是当我把maxn开到1e5+5的时候很奇怪的就wa了,开到1e5+20才过 // Created by CAD #in 阅读全文
posted @ 2020-08-16 09:57 caoanda 阅读(256) 评论(0) 推荐(0) 编辑
摘要: pb_ds中的hash_table 参考: pd_ds中的hash 需要的头文件和命名空间: #include<ext/pb_ds/assoc_container.hpp> #include<ext/pb_ds/hash_policy.hpp> using namespace __gnu_pbds; 阅读全文
posted @ 2020-08-09 16:17 caoanda 阅读(819) 评论(0) 推荐(0) 编辑
摘要: J. The Escape Plan of Groundhog 首先这道题肯定只能$O(n3)$来写,暴力来求的话是$O(n4)$,那么我们只需要优化一个$O(n)$就好了。 优化的方法是用一个枚举子矩形宽的长度,然后再依次遍历每一行,首先要满足要求(两条高上的点需要全是1),下底的点全为1,最后一 阅读全文
posted @ 2020-08-09 12:27 caoanda 阅读(145) 评论(0) 推荐(0) 编辑
摘要: How far away ? 预处理出每一个节点到根节点的距离即可,两个节点之间的距离为len[x]+len[y]-2*len[lca(x,y)] // Created by CAD #include <bits/stdc++.h> #define fi first #define se secon 阅读全文
posted @ 2020-08-08 10:40 caoanda 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 1007 Tree 这道题的解题思路就是树形 dp,在求解过程中,尤其要注意 k 为0和1的时候的情况讨论。细节决定了这道题能不能A。 // Created by CAD #include <bits/stdc++.h> #define ll long long using namespace st 阅读全文
posted @ 2020-08-07 20:51 caoanda 阅读(256) 评论(0) 推荐(0) 编辑
摘要: $O(log(n))$求第k个父亲节点 参考:树上倍增的写法和应用(详细讲解,新手秒懂) // Created by CAD #include <bits/stdc++.h> using namespace std; const int maxn=5e5+5; vector<int> g[maxn] 阅读全文
posted @ 2020-08-05 09:33 caoanda 阅读(137) 评论(0) 推荐(0) 编辑
摘要: ###倍增法求最近公共祖先 参考:题解 P3379 【模板】最近公共祖先(LCA) 参考:树上倍增的写法和应用(详细讲解,新手秒懂) // Created by CAD #include <bits/stdc++.h> using namespace std; const int maxn=5e5+ 阅读全文
posted @ 2020-08-05 09:31 caoanda 阅读(116) 评论(0) 推荐(0) 编辑
摘要: J. Pointer Analysis 读题的时候一定要仔细啊…比赛的时候读错题,写了半天都是 wa 的 其实只要把思路理清了,实现起来就很方便了。 对于每一个大写字母,只需要保存其可指向的对象即可,因为最多只有26个,因此直接用状态压缩即可,而且对于合并操作也很方便。 // Created by 阅读全文
posted @ 2020-08-02 14:32 caoanda 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 回文自动机 参考: 回文树 // Created by CAD #include <bits/stdc++.h> #define ll long long using namespace std; const int maxn=3e5+5; namespace pam{ int sz,tot,las 阅读全文
posted @ 2020-07-29 16:22 caoanda 阅读(107) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 29 下一页