摘要:
法一:IDA #include<set> #include<map> #include<cmath> #include<ctime> #include<stack> #include<queue> #include<bitset> #include<vector> #include<cstdio> 阅读全文
摘要:
更相减损法+高精度压位。 算法原理见 : https://www.luogu.com.cn/blog/user17952/solution-p2152 (不是我的). 这里给出不用 py 和 o2 的 Code(是我的). Code : #include<set> #include<map> #in 阅读全文
摘要:
树哈希解法 令 f[x][0] 为 : x 的子树都严格按照先左后右的顺序 Hash 的值。 f[x][1] 先右后左。 判断 x 是不是对称的二叉树只要判断 f[lc[x]][0] 和 f[rc[x]][1] 是否相等。 递推式: f[x][0]=p1*s1*P+a[x]*NP+((~rc[x]) 阅读全文
摘要:
差分是与前缀和互逆的,所以可以用前缀和的公式推差分的公式 \(c[i][j]=a[i][j]-a[i-1][j]-a[i][j-1]+a[i-1][j-1]\) 矩阵加减可以由定义分析,也可以换个思路 \(a[x][y]= \sum_{i=1}^{x} \sum_{j=1}^{y} c[i][j]\ 阅读全文
摘要:
2进制拆分 和 bitset 优化。 2进制拆分不会的看: https://www.acwing.com/problem/content/5/ bitset 不会的看: https://oi-wiki.org/lang/csl/bitset/ 我记得 NOI online 有一题(好像叫 买表) 和 阅读全文
摘要:
Solution tarjan 边双缩点成一棵树,然后用并查集优化。 然后看到很多 dalao 都写了个 树上倍增求 lca , 其实不用。 用并查集处理出 int par[N]; int Find(int x) { return ((par[x]==x) ? x : par[x]=Find(par 阅读全文
摘要:
后缀数组解法 前置题目 2715. 后缀数组 131. 直方图中最大的矩形 Solution 一个字符串的后缀的所有前缀恰好不重不漏地覆盖了所有的子串,所以我们可以考虑用后缀数组来做。 比如:babab 排完序后 ab abab b bab babab (以下后缀均指排名为 \(i\) 的后缀,而不 阅读全文
摘要:
一种不用Floyd的方法。 时间复杂度 每组 \(O(mn)\) Description 对于每个输入。 例如 A<B,我们由B向A连一条有向边,表示A比B小。 通过这样连边,从B出发可以遍历到的所有点都是小于B的,其他字母同理。 于是在每次连边之前,例如 A<B,先判断A在之前的不等式连成的图上能 阅读全文