随笔分类 - 算法概述
摘要:#算法技巧 ##字符串哈希 当我们预处理出一个字符串的哈希值后,可以$O(1)$的求出删除中间任意一个字符后的字符串的哈希值。 设长度位$len$,哈希表进制为$base$,删除第$k$位 则 $$HASH=hs[k-1]*base^{len-k}+hs[len]-hs[k]*base^{len-k
阅读全文
摘要:#整除分块 ##前言 本文为莫比乌斯反演的必备前置知识,同时在许多数论题目中都有应用,建议认真阅读 ##1.知识概述 整除分块适用于形似这个类型的式子 $${\sum_{i=1}^{n}{\lfloor\frac{n}{i}\rfloor}}$$ 通过我们缜密的数学思想(~~打表~~)可以得知 n=
阅读全文
摘要:#算法————扫描线 1.算法描述 2.coding: #include<bits/stdc++.h> #define N 1000005 #define int long long using namespace std; int n,tot,ans=0; int x,y,xx,yy,sl,sr,
阅读全文
摘要:关于如何求得树中每个点最长路的O(n)算法: ####1.算法流程: 求出树上的直径,在第二次dfs中求出从直径一端点到每个点的距离 再跑一次dfs,求出另一端点到每个点的距离,并更新每个点的最长路 ####2. 算法实现: #include<bits/stdc++.h> #define ll lo
阅读全文

浙公网安备 33010602011771号