基本算法--倍增
fnq9999
这个作者很懒,什么都没留下…
展开
-
Codeforces 864F - Cities Excursions 贪心 and 构造
题意: 题意: 给定一个有向图,询问由s到t的字典序最小的路径的第k个点 输入: 第一行三个整数n(2<=n<=3000),m(0<=m<=3000),q(1<=q<=400000) 接下来m行每行两个整数x,y(1<=x,y<=n且x≠y)表示由x到y有一条路(由城市x到y最多只有一条路) 接下来q行每行三个整数s,t(1<=s,t<...原创 2019-10-18 17:26:48 · 155 阅读 · 0 评论 -
bzoj 1977严格次小生成树
原文链接:https://blog.csdn.net/BerryKanry/article/details/77983140 题目大意:求严格次小生成树 #include<stdio.h> #include<algorithm> #include<cstring> #include<iostream> using namespace std;...转载 2019-09-01 00:11:29 · 126 阅读 · 0 评论 -
bzoj 5165 倍增 and lca
题意: 1.给一个点 加一个儿子编号为n+1 2.询问多个点的LCA 解法: (1)和两个点LCA类似,找到深度最小的,别的节点都向这这个点条, 在每个节点深度都调整完毕时,如果每个节点都相同那么这个点就是lca (2)否则,倍增同时向上调整那么最后的所有点的父亲就是LCA #include<bits/stdc++.h> using namespace std; #de...原创 2019-09-01 00:07:00 · 147 阅读 · 0 评论 -
bzoj 5293 树上差分 and 倍增
题意:问你树上两点之间路径上 sigma(每个点深度^k); 解: 1、树上倍增时维护每个深度k次幂到根的前缀和 2、树上差分+简单容斥 #include<bits/stdc++.h> using namespace std; #define MAXN 300010 #define maxn 300010 #define en '\n' #define ll long long ...原创 2019-09-01 10:49:03 · 184 阅读 · 0 评论