树
ssl_xxy
这是一个蒟蒻
展开
-
洛谷P1305 新二叉树【树】
链接https://www.luogu.org/problemnew/show/P1305大意给定一棵有nnn个节点的二叉树,告诉你每个点的字母以及它的左儿子和右儿子的标号求它的先序遍历。思路树型思想,根据根左右的顺序遍历代码// luogu-judger-enable-o2#include<cstdio>using namespace ...原创 2018-04-10 20:39:22 · 622 阅读 · 0 评论 -
【堆,离散化】Day 1 提高组模拟C组 T3 扑克游戏
题目描述题目大意同合并果子证明合并果子时,我们的策略是每次合并最小的,代价为它们的价值和,所以,代价越小的,其运用次数就越多,比如这个数据35 10 13合并果子策略 15 13 ……代价15 28 ……代价28 一共15+28=43 但是其实这个代价也可以这样算 5×21+10×21+13=435×21+10×21+13=435\times 2...原创 2018-07-06 16:28:54 · 180 阅读 · 0 评论 -
【扫描线+线段树+离散化】Day 2 提高组模拟C组 T2 宝石
题目描述题目大意在一个m×mm×mm\times m的矩阵上有nnn个点,它们都有各自的代价,现在求最大边长为kkk的子矩阵代价和解题思路10分纯离散 60分暴力+前缀和优化 100分 扫描线+线段树+离散化就是把从坐标离散化,然后扫描,用线段树维护区间最大值就行了10分代码#include<cstdio>#include<a...原创 2018-07-07 20:23:07 · 209 阅读 · 0 评论 -
【树的遍历,最短路】Day 2 提高组模拟C组 T4 景点中心
题目描述题目大意给定一张无向图G=(n,n−1)G=(n,n−1)G=(n,n-1),每个点上有一定的人,选定一个点,使得所有人走到那里的代价最小。解题思路30分思路 最短路,O(n3)O(n3)O(n^3) 30~60分思路 最短路 O(n2logn)O(n2logn)O(n^2logn) 60分思路 从每个点出发dfsdfsdfs遍历 O(n2)O(n2)O(n...原创 2018-07-07 20:38:12 · 282 阅读 · 0 评论 -
【生成树】洛谷P1991 无线通讯网
链接https://www.luogu.org/problemnew/show/P1991大意求给定ppp个点,求p−sp−sp-s条边形成的生成树中的最长边思路库鲁思卡尔代码#include&lt;cmath&gt;#include&lt;cstdio&gt;#include&lt;algorithm&gt;#define r(i,a,b) fo...原创 2018-08-15 16:53:30 · 190 阅读 · 0 评论 -
【平衡树】SSL 1396 二叉排序树
STLSTLSTL自带平衡树setsetset代码#include<cstdio>#include<set>using namespace std;int a;multiset<int>s;signed main(){ while(scanf("%d",&a),a>0) s.insert(a); for...原创 2018-08-18 16:23:56 · 99 阅读 · 0 评论 -
【树的遍历】SSL 1389
求一棵树的前序遍历,即bfsbfsbfs序需要注意的是,由于本题奇怪的输入,我们需要将每层的答案放过来倒序输出,可以用一个vectorvectorvector存储每层的节点代码#include<cstdio>#include<queue>using namespace std;int root,l[100001],n,k,fa,d[100001];...原创 2018-08-18 16:26:02 · 117 阅读 · 0 评论 -
【bfs】SSL 1388 树的宽度和深度
求一棵树的宽度和深度,一遍bfsbfsbfs统计深度,读入时统计宽度(即最大出度)代码#include<cstdio>#include<queue>using namespace std;int root,l[100001],n,k,fa,d[100001],cd[100001],ansk,ansd;struct node{int next,to;}e...原创 2018-08-18 16:27:50 · 139 阅读 · 0 评论 -
2018年10月18日提高组 T3 摘果子
大意在选择一个东西前必须要选择另一样东西,选择一样东西可以获得一定的价值,但需要花费一定的代价。求代价≤m\leq m≤m的最大价值思路有依赖性的背包问题(树形背包问题)套模板(选课)O(n3)O(n^3)O(n3)可以拿50分,于是我们可以把结果都丢给兄弟算,时间复杂度O(n2)O(n^2)O(n2)代码#include<cstdio>#include<al...原创 2018-10-20 16:38:33 · 181 阅读 · 0 评论 -
【线段树,栈】Day 7 提高组模拟C组 T2 圣章-精灵使的魔法语
题目描述解题思路40分思想: 因为右括号能够盖住左括号,所以当右括号的个数超过左括号时,其就会需要多一个括号进行匹配,再加上每个括号会与距离其最近的括号匹配,所以这是一个先进后出的结构,所以我们可以用栈解决,时间复杂度O(nm)O(nm)O(nm) 100分思路: 上一种思路之所以慢是因为它每次都要一遍循环找括号,然后由于令人讨厌的单点修改,于是构成了区间查询和单点修改与信息...原创 2018-07-12 19:25:55 · 199 阅读 · 0 评论 -
【主席树,rope】Day 5 提高组模拟C组 T3 高级打字机
链接https://www.luogu.org/problemnew/show/P1383题目大意有nnn种操作,第一种操作是在字符串尾部添加字符,第二种操作是查询第iii个字符,第三种操作是还原xxx次操作解题思路对于50分没有还原还原这种操作的情况下还原时直接删除尾部字符就行了80分做法忘了。。。QWQ100分做法主席树或者其他可持久化结构,这里用的是C++...原创 2018-07-10 14:41:16 · 218 阅读 · 0 评论 -
【树状数组,邻接表dfs遍历】POJ 3321 Apple Tree
链接http://poj.org/problem?id=3321大意在一棵多叉树上有nnn个节点,起初每个节点上都有一个苹果,中间会有两种操作:询问以xxx为根的子树共有几个苹果改变xxx号节点上的苹果,其苹果树取反(即0为1,1为0)思路其实这题我是想用线段树的。。。 树状数组+邻接表dfs遍历 就是利用dfs化树为链,然后就是基本的树状数组啦代...原创 2018-05-12 08:20:45 · 252 阅读 · 0 评论 -
洛谷P1087 FBI树【树】
链接https://www.luogu.org/problemnew/show/P1087思路利用树的思想去模拟代码#include<cstdio>#define mid ((l+r)>>1)using namespace std;char a[1025];int n;void dfs(int l,int r){ if(r&...原创 2018-04-10 20:56:55 · 270 阅读 · 0 评论 -
【线段树Easy】SSL-2644,2645,2646
题目链接https://blog.csdn.net/xuxiayang/article/details/80171086前言线段树练习题QAQ。。。 数据范围这里就不提了,反正每道题只有nlognnlognnlogn或比它更优的算法能过。评测记录附图2644有输入流和没输入流差距还真大。。。 2645被人超了QWQ 2646输入流助我登...原创 2018-05-02 16:48:26 · 225 阅读 · 0 评论 -
【线段树Normal】SSL-2647,2648
题目链接https://blog.csdn.net/xuxiayang/article/details/80171086前言输入输出流绝对是个好东西!评测记录附图2647第二题 SSL-2647大意有一条长度为nnn的线段,里面有MMM条小线段,问xxx到yyy之间有多少条线段思路先放入,然后查找这条线段的具体位置,然后...原创 2018-05-02 19:47:38 · 172 阅读 · 0 评论 -
【线段树,暴力模拟,离散】ZOJ 1610 Count the Colors
链接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1610大意一条线段,上进行了nnn次涂色,后涂的颜色会覆盖前涂的颜色,问可见的颜色以及他们的左右长度思路线段树 这里是用点去表示线段,所以这里的lll和rrr是允许相同的,若是直接的表示线段,则lll与rrr的差值必须大于0才行。 用点表示...原创 2018-05-09 16:29:32 · 225 阅读 · 0 评论 -
线段树&树状数组
前言线段树和树状数组是两个十分重要的树形数据结构,今天我们以三个例题来详解并对比这几种算法的优缺点 注:若只学习概念可直接看概念及对比,例题无所谓概念线段树线段树是一棵二叉搜索树,与区间树相似,使用它可以快速的查找一个节点在若干条线段中出现的次数,时间复杂度为O(logn)O(logn)O(logn)树状数组树状数组就比较奇特了,它的节点会...原创 2018-04-26 17:23:55 · 890 阅读 · 0 评论 -
【线段树,RMQ】POJ 3368 Frequent values
听说正解是RMQ好吧,线段树着实慢得要死链接http://poj.org/problem?id=3368大意有多组数据,每组给定一个长度为nnn的不降序列,有mmm次询问,每次询问xxx到yyy之间最长的连续序列的长度思路线段树 7个下参 l,rl,rl,r表示该节点的左右区间 L,RL,RL,R表示该节点左右两边的最长连续序列的结束元素 lc,rc...原创 2018-05-11 14:24:14 · 187 阅读 · 0 评论 -
【树状数组】POJ 2352 Stars
链接http://poj.org/problem?id=2352大意有m<=15000m<=15000mansansans数组保存各个等级的数量 CCC数组为树状数组,假设一颗星星高度为xxx,那么需要考虑000到xxx高度的星星的个数即为它的等级,(因为前面已经说过yyy是不降序列,所以可以不用考虑yyy)有点类似于前缀和。代码#include<...原创 2018-05-11 19:38:18 · 260 阅读 · 0 评论 -
【树状数组】POJ 2481 Cows
链接http://poj.org/problem?id=2481大意一个长度为n<=105n<=105nnnn条小线段,若一条线段被完全包含在另一条线段里,则被包含的线段的等级更低,先在要求出所有等级线段的个数思路排序+树状数组 这道题和POJ2352几乎一样,但是这里的yyy并不是升序的,所以我们要对其中左右边界中的一个进行排序,使其转换为POJ2352...原创 2018-05-11 21:03:50 · 228 阅读 · 0 评论 -
P3369 【模板】普通平衡树 [替罪羊树做法]
替罪羊树原创 2019-01-05 10:53:33 · 336 阅读 · 0 评论