
树论
文章平均质量分 53
树论
幽影相随
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
EOJ Monthly 2021.2 Sponsored by TuSimple A. 昔我往矣(最近公共祖先)
A. 昔我往矣在背诵《诗经》的时候,小 G 回忆起了一棵树。树上有 5 个人,他们站在互不相同的节点上。小 G 想去拜访他们,她会从某个人所在的节点出发,沿树上最短路径走向下一个人,以此类推,直到拜访完这 5 个人。树上的所有边还未被翻新,翻新一条边需要一定的代价(边是双向的),而小 G 只愿意走被翻新过的边。她想知道,为了使得无论顺序如何都可以拜访完 5 个人,最小需要的翻新代价之和是多少。输入格式第一行,一个正整数 n,表示节点个数。接下来 n-1 行,每行 3 个整数 u,v,w,表示 u原创 2021-02-07 19:52:24 · 243 阅读 · 0 评论 -
51nod 1175 区间中第K大的数(主席树)
1175 区间中第K大的数一个长度为N的整数序列,编号0 - N - 1。进行Q次查询,查询编号i至j的所有数中,第K大的数是多少。例如: 1 7 6 3 1。i = 1, j = 3,k = 2,对应的数为7 6 3,第2大的数为6。输入第1行:1个数N,表示序列的长度。(2 <= N <= 50000)第2 - N + 1行:每行1个数,对应序列中的元素。(0 <= S[i] <= 10^9)第N + 2行:1个数Q,表示查询的数量。(2 <= Q <=原创 2020-12-15 19:30:04 · 217 阅读 · 0 评论 -
Lost Map(prim)
Lost Map实现代码#include <cstdio>#include <iostream>#include <map>#include <cstring>#include <string>#include <algorithm>#include <queue>using namespace...原创 2020-03-01 22:35:09 · 499 阅读 · 0 评论 -
线段树模板
线段树基础类型// 查询结果ll ans;// 树的信息存储,可根据需要增减struct node { int left, right, len; ll lazy, sum;} tree[maxn * 4];建树void build(int left, int right, int rt) { tree[rt].left = left; tree[...原创 2020-02-16 13:51:46 · 142 阅读 · 0 评论 -
so easy(并查集)
so easy代码实现#include <bits/stdc++.h>using namespace std;const int maxn = 1e5 + 100;unordered_map<int, int> m;int find(int x){ if(!m.count(x)) return x; else return m[x]=find(m[...原创 2019-09-07 21:09:42 · 1305 阅读 · 0 评论 -
Supermarke(贪心 + 并查集)
Supermarke拿来熟悉一下并查集,有点忘了#include<cstdio>#include<cstring>#include<iostream>#include<queue>#include<algorithm> using namespace std;int pre[10005],rank[10005],n;st...原创 2019-07-31 14:59:33 · 1184 阅读 · 0 评论 -
并查集
int p[40000];int find(int x){ if(p[x]==x) return x; else return p[x]=find(p[x]);}bool join(int x,int y){ int fx,fy; fx=find(x); fy=find(y); if(fx!=fy) { p[fx]=fy; return 1; }else{ r...原创 2019-06-02 11:40:11 · 1074 阅读 · 0 评论 -
Kruskal(克鲁斯卡尔)
Kruskal算法(一)之 C语言详解例题Networking#include <iostream>#include <string>#include <cstring>#include <cstdio>#include <algorithm>using namespace std;int pre[120010];//祖...原创 2019-06-07 14:32:36 · 1341 阅读 · 0 评论 -
A Simple Problem with Integer(线段树)
A Simple Problem with Integer题目您有N个整数,A1, A2, …, AN。您要进行两类操作:一类操作是将某个给定的数在一个给定的区间内加到每个数上;另一类是求以一个给出的区间内的数字的总和。输入第一行给出两个数字N和Q,1≤N,Q≤100000;第二行给出N个数字,是A1, A2, …, AN的初始值,-1000000000≤Ai≤1000000000。接...原创 2019-08-06 16:09:47 · 1114 阅读 · 0 评论 -
Buy Ticket(线段树)
Buy Ticket题意在春节期间,火车票很难买到,为此我们必须起个大早,去排长队……。春节将至,但非常不幸,Little Cat仍然被安排东跑西颠。现在,他要坐火车去四川绵阳,参加信息学奥林匹克国家队选拔的冬令营。此时是凌晨1点,外面一片黑暗。寒冷的西北风并没有吓跑排队买票的人们。寒冷的夜晚让Little Cat直打哆嗦。为什么不找个问题思考一下呢?这至少比冻死要好!人们不断地在队列中...原创 2019-08-06 15:11:38 · 1316 阅读 · 0 评论 -
关于线段树基础
线段树(c++)需求:必须:二分法,树的基础拓展:补码,反码,移码,lowbit()建议先看看这个:https://blog.youkuaiyun.com/zearot/article/details/52280189了解什么是线段树及用途线段树,类模板题Just a Hookhttp://acm.hdu.edu.cn/showproblem.php?pid=1698#include &l...原创 2019-04-02 12:50:19 · 1264 阅读 · 0 评论 -
树上倍增(模板)
#include<cstdio>#include<string>#include<vector>#include<algorithm>#define N 100009using namespace std;vector<int> tree[N];int father[N][21], h[N], w[N];void df...原创 2019-12-07 11:13:24 · 384 阅读 · 1 评论 -
最长树链(dfs 树)
最长树链题目描述树链是指树里的一条路径。美团外卖的形象代言人袋鼠先生最近在研究一个特殊的最长树链问题。现在树中的每个点都有一个正整数值,他想在树中找出最长的树链,使得这条树链上所有对应点的值的最大公约数大于1。请求出这条树链的长度。输入描述:第1行:整数n(1 ≤ n ≤ 100000),表示点的个数。第2~n行:每行两个整数x,y表示xy之间有边,数据保证给出的是一棵树。第n+1行:...原创 2019-12-06 14:48:55 · 619 阅读 · 0 评论