摘要:
先上一道裸题代码:给定若干个(<=10)由小写字母组成的字符串(每个字符串长度不超过10^5),求他们的最长公共子串的长度。 用的是在每个字符串中间加间隔符,把它们合成一个字符串,最后 DFS + 标记 找答案的方法。 其实现在也不太会 SAM OrzOrzOrz,好像给自己埋了一个坑, SAM 相 阅读全文
摘要:
Pt. 1 哈希树 很厉害的论文 https://wenku.baidu.com/view/16b2c7abd1f34693daef3e58.html 哈希树HashTree 我学习的文章 https://www.cnblogs.com/tlnshuju/p/6740754.html 查找——图文翔 阅读全文
摘要:
FTT NKOJ3071 高精度乘(输入 a, b ,输出两个数的积) NTT 1.数论阶和原根 相关文章:数论之原根 https://blog.csdn.net/fuyukai/article/details/50894609 ordn a 表示当 a, n 互素时,在模 n 意义下,a 的数论阶 阅读全文
摘要:
NKOJ3071 模板题:求两个整数之积. FFT 函数里 ty = 1 表示 DFT 运算,ty = -1 表示 IDFT 运算. 题目 给你两个正整数a,b,计算它们的乘积。 给你两个正整数a,b,计算它们的乘积。 第一行一个正整数a第二行一个正整数b 第一行一个正整数a第二行一个正整数b 一行 阅读全文
摘要:
敲了一个树剖模板,顺便复习了一下动态开点的线段树. NKOJ需要扩栈! 题目 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a 。 操作 2 :把某个节点 x 为根的子树中所有点的点权都增加 a 。 操作 3 :询问某个 阅读全文
摘要:
ans 表示最小生成树中的边权和 Prim 概述:从点集(初始时为任意一个点)可以到达的点(不在该点集中)中,选离该点集距离最短的一个,加入该点集,更新 ans 。重复上面的操作直到没有点可以到达(优先队列为空)。如果这时点集中点的数量不等于原图点的数量说明原图不是连通图,无解。 Kruskal 概 阅读全文
摘要:
测试题目 NKOJ1107 达喀尔拉力赛 方法一 Bellman-Ford. 计算 S 到任意点的最短路得到 dis[i], 计算任意点到 T 的最短路 sid[i], 枚举每一条边,假设这条边从 x 到 y, 权值 w. 显然次短路长度就是 min{ dis[x] + w + sid[y] } . 阅读全文
摘要:
我实在太弱啦 OrzOrz ,B题负权回路没看出来,D题写爆,平时太懒练少了吧。 A. Floyd裸题, O(N^3) 。 B. Bellman-Ford 判负权回路,注意麦田间的小路是双向边,而虫洞是单向边,这是个巨大的坑点。 C. 贪心裸题,最少线段覆盖,也可以用图论做。 D. 二分答案 + 图 阅读全文
摘要:
题目不太难,老板讲得真好(斜眼笑。 D题租房子,挺暴力的,不过老板说过,敢写就敢A,哈哈。 1 #include <stdio.h> 2 #include <algorithm> 3 4 using namespace std; 5 6 double f[2][3]; 7 8 int main() 阅读全文
摘要:
A 每个木条可以涂 [1, T] 次,对每个木条先来个区间动规。f[i][x] 表示前 i 个位置涂 x 次的最大收益。 f[i][x] = f[k][x-1] + gain(k, i) k 取 [x-1, i) 这样的话问题转化为有很多物品,某一个的价值是 f[i][x] 而重量是 x ,另外 f 阅读全文