Loading

摘要: 若两条路径lca相同,则在lca处两者相交 两条路径相交点不可能在非lca处,即两条路径如果相交,一定是某一条路径的lca为另一条路径某个端点的祖先。 需要判断两条路径lca深度大小。再判断两次lca,做完了。 #include<iostream> #include<cstdio> #include 阅读全文
posted @ 2021-04-04 09:46 hyl天梦 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 1tarjan 可以用来求割点,缩点与桥 2.无向图 2.1一些定义 割点与桥 给定无向图$G=(V,E)$ 若对于$x\in V$,从图中删去节点x以及所有与x相关联的边后,G分裂成两个及以上不相连的子图,则称x为G的割点。 若对于$e\in E$,从图中删去边e后,G分裂成两个不相邻的子图,则称 阅读全文
posted @ 2021-04-02 17:00 hyl天梦 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 1BSGS 该算法解决的是下面的问题: 求解一个最小的x,使得: \[ a^x\equiv b\mod p \] 其中p为素数。 2流程 设$m=\sqrt p$,令$x=m*q-r$,其中$0\leq r < m$ 枚举$a^r\times b$并把结果存到hash表里。 枚举 \(q\),因为$ 阅读全文
posted @ 2021-04-02 15:47 hyl天梦 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 1树的直径 就是树上的一条链,满足这条链上权值最大。 2求解 2.1两次dfs 这种方法不适用于负边权,但是容易知道树直径的起始节点和末节点,也容易知道链的路径。 关于两次dfs不适用于负边权的证明放在引用处,感兴趣的读者可以自行观看。 代码: inline int dfs(int k,int fa 阅读全文
posted @ 2021-04-01 21:24 hyl天梦 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 1网络流简介 网络流(network-flows)是一种类比水流的解决问题方法,与线性规划密切相关。网络流的理论和应用在不断发展,出现了具有增益的流、多终端流、多商品流以及网络流的分解与合成等新课题。网络流的应用已遍及通讯、运输、电力、工程规划、任务分派、设备更新以及计算机辅助设计等众多领域。 2网 阅读全文
posted @ 2021-04-01 09:24 hyl天梦 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 1最小生成树算法 1.1算法kruskal 思想:每次在边集e中选出一条权值最小的边,如果两边的点不在一个集合中,则合并两个集合。合并集合用并查集来实现。 代码: struct DSU{ ll fa[N]; inline void init(ll n){ for(ll i=1;i<=n;i++) f 阅读全文
posted @ 2021-03-30 17:12 hyl天梦 阅读(79) 评论(0) 推荐(0) 编辑
摘要: 1转载注明: 康托展开 康托展开真是个神奇的东西。 除了本题用于求某排列的排名外,康托展开一般用于哈希,不过我也没做到过这样的哈希题。 2康托展开 先给你柿子。 \(ans=1+\sum_{i=1}^{n} A[i]\times(n-i)!\) 其中A[i]代表$\sum_^[a[j] < a[i] 阅读全文
posted @ 2021-03-24 21:22 hyl天梦 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 1差分约束问题 差分约束形如以下问题。 有n个变量$x_1,x_2,x_3...x_n$ 有m个不等式,形如: \[ x_i-x_j\le a_k \] $a_i,i\in [1,m]$是常数 让我们判断是否有解,有解的话输出一组解。 2解法 2.1思路 我们发现如果我们稍微移一下项: \[ x_i 阅读全文
posted @ 2021-03-24 19:10 hyl天梦 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 1 0/1分数规划 01分数规划是指的下面这个问题。 给定数组a和数组b。要求找到一个x数组,使得: \[ \dfrac{\sum\limits_{i=1}^{n}a_i\times x_i}{\sum\limits_{i=1}^{n}b_i\times x_i} \] 最大,且$x_i=0$或$1 阅读全文
posted @ 2021-03-22 21:08 hyl天梦 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 1LCA 对于有根树T的两个结点u、v,最近公共祖先LCA(T,u,v)表示一个结点x,满足x是u和v的祖先且x的深度尽可能大。在这里,一个节点也可以是它自己的祖先。 有时lca可以帮助我们解决许多问题,包括树上路径,如何快捷并高效的求出lca就成了一个重要的问题。 2求解 2.1树上倍增法 这是一 阅读全文
posted @ 2021-03-21 11:39 hyl天梦 阅读(128) 评论(0) 推荐(0) 编辑