![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
知识
summer20020929
这个作者很懒,什么都没留下…
展开
-
两种特别有用的求LCA的方法
第一种:树链剖分@TOC一:知识储备重节点:以i为根的节点中结点数最多的结点轻结点:其他结点重链:由重节点连成的链二:实现必需品:dep存深度son存重节点是谁siz存以i为根的子树大小fa存父亲是谁top存“头”~重节点的头是他所在链的第一个出现的点~轻结点的头是他自己三:代码:#include <iostream>#include <cs...原创 2018-10-31 13:07:50 · 261 阅读 · 0 评论 -
(扩展)欧几里得算法的应用
求解a,b的gcdint gcd(int a,int b){ return b?gcd(b,a%b):a;}求解ax+by=gcd(a,b);int e_gcd(int a,int b,int &x,int &y){ if(!b){ x=1;y=0; return a; } int gcd=e_gcd(b,a%b,y,x); y-=a/b*x;...原创 2018-11-08 21:46:55 · 353 阅读 · 0 评论