数据结构
栗原小野
千里之行,始于足下!
展开
-
PTA1021 Deepest Root (25分)
题目:click me~题意:给n个点,n-1条边,判断是否连通图。若是,找出能使树高最高的根结点(如果这样的结点不止一个,那么升序输出它们);若不是,输出连通块个数。解题思路:步骤一:判断是否连通图;步骤二:先任意选择一个结点开始遍历树,获取能达到的最深的顶点(记为A集合)。若是连通图,再从A中任选择一个结点出发遍历树,获取能达到的最深的顶点(记为B集合),那么A、B的并集即为所求的deepest root。Tips:1.标志一个visit数组,每次dfs时,都把访问到的结原创 2020-05-28 11:41:23 · 143 阅读 · 0 评论 -
树链剖分+线段树 bzoj1036 树的统计
一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身Input输入的第一行为一个整数n,表示...原创 2019-05-30 09:51:36 · 136 阅读 · 0 评论 -
【数据结构】 线段树 区间修改&区间查询 cdoj1057
题目链接:https://acm.uestc.edu.cn/problemDescription秋实大哥是一个儒雅之人,昼听笙歌夜醉眠,若非月下即花前。所以秋实大哥精心照料了很多花朵。现在所有的花朵排成了一行,每朵花有一个愉悦值。秋实大哥每天要对着某一段连续的花朵歌唱,然后这些花朵的愉悦值都会增加一个相同的值vvv(vvv可能为负)。同时他想知道每次他唱完歌后这一段连续...原创 2019-05-28 10:52:46 · 148 阅读 · 0 评论 -
【PTA】hashing(hard version)
题意:给出一个散列表,哈希函数是H(x)=x%N,冲突处理方法是线性探测,按照散列表打印出输入的顺序,如果有多种选择先输出小的那个。解题思路(看了姥姥的慕课和别人的代码):有冲突的元素有先后顺序,可用有向图(邻接矩阵)来存储,然后拓扑排序。代码如下#include<stdio.h>#include<stdlib.h>#include<queue>...原创 2019-07-28 01:13:48 · 208 阅读 · 0 评论