![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构
无
今天也吃瓜
空空
展开
-
并查集:2020CCPC秦皇岛 Friendly Group
题目链接:点击这里#include<bits/stdc++.h>using namespace std;typedef long long ll; int s[300005];int sum[300005];//花十个月时间学了个假算法int ddd[300005];//绝了int find(int u){ if(u==s[u]) return u; return s[u]=find(s[u]);}int main(){ int t; scanf("%d",&原创 2020-12-18 22:36:49 · 609 阅读 · 1 评论 -
并查集:File Transfer
题目如下:We have a network of computers and a list of bi-directional connections. Each of these connections allows a file transfer from one computer to another. Is it possible to send a file from any computer on the network to any other?Input Specification:原创 2020-05-11 19:02:59 · 89 阅读 · 0 评论 -
并查集:洛谷 P1194 买礼物
题目来源:点击这里代码如下:#include<cstdio>#include<stack>#include<iostream>#include<queue>#include<algorithm>#include<iterator>#include<set>#include<string>...原创 2020-04-01 17:25:01 · 130 阅读 · 0 评论 -
并查集:中国石油大学新生赛(华东)问题 I: 星区划分
题目来源:点击这里题目描述爱好天文的小七发明了一种太空分区方法,在这个方法中,宇宙里亮度相近的星星被划为同一个星区。空间中任意相邻或坐标相同的星星若亮度差不大于给定整数M,则这两个星星属于同一星区(两个星星可能会有相同的坐标)。现给你一个空间n个星星的三维坐标(x,y,z),和亮度值v,每个星星的上、下、左、右、前、后的六个相邻位置被认为是与其相邻的。请你计算一下该空间内的星区数量。输入...原创 2020-03-08 22:01:27 · 127 阅读 · 0 评论 -
并查集:洛谷 P2330 [SCOI2005]繁忙的都市
题目来源:点击这里题目如下:城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造。城市C的道路是这样分布的:城市中有n个交叉路口,有些交叉路口之间有道路相连,两个交叉路口之间最多有一条道路相连接。这些道路是双向的,且把所有的交叉路口直接或间接的连接起来了。每条道路都有一个分值,分值越小表示这个道路越繁忙,越需要进行改造。但是市政府的资金有限,市长希望进行改造的...原创 2020-03-05 15:04:58 · 139 阅读 · 0 评论 -
并查集:洛谷 P1111 修复公路
题目来源:点击这里题目如下:A地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。题目描述给出A地区的村庄数N,和公路数M,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问最早什么时候任意两个村庄能够通车,即最早什么时候任意两条村庄都存在至少一条修复完成的道路(可以由多条公路连成一条道路)输入格式第1行两个正整数N,M下面...原创 2020-03-05 14:34:32 · 125 阅读 · 0 评论 -
ST表求RMQ(区间最值问题)
点击这里#include<cstdio>#include<iostream>#include<algorithm>#include<cmath>using namespace std;const int mxm=1e6+5;int ans[mxm][21];int query(int l,int r){ int k=log2(r-l+1); return max(ans[l][k],ans[r-(1<<k)+1][k]);}原创 2020-12-05 19:11:14 · 58 阅读 · 0 评论 -
堆中的路径
题目如下:将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。输入格式:每组测试第1行包含2个正整数N和M(≤1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。输出格式:对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。输入样例:5 346 23 26 24 10原创 2020-05-11 16:53:49 · 114 阅读 · 0 评论 -
二叉搜索树的查找,删除,插入,遍历等操作
#include <stdio.h>#include <stdlib.h>typedef int ElementType;typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};void PreorderTraversal( BinTree BT ); /* 先序遍历,原创 2020-05-11 10:52:59 · 130 阅读 · 0 评论 -
树的应用:Tree Traversals Again
题目来自:pta题目集(无邀请码打不开)题目如下:An inorder binary tree traversal can be implemented in a non-recursive way with a stack. For example, suppose that when a 6-node binary tree (with the keys numbered from 1 to 6) is traversed, the stack operations are: push(1); pu原创 2020-05-10 10:39:57 · 983 阅读 · 0 评论 -
树的应用:是否同一颗二叉搜索树
题目来自:点击这里题目如下:给定一个插入序列就可以唯一确定一棵二叉搜索树。然而,一棵给定的二叉搜索树却可以由多种不同的插入序列得到。例如分别按照序列{2, 1, 3}和{2, 3, 1}插入初始为空的二叉搜索树,都得到一样的结果。于是对于输入的各种插入序列,你需要判断它们是否能生成一样的二叉搜索树。输入格式:输入包含若干组测试数据。每组数据的第1行给出两个正整数N (≤10)和L,分别是每个序列插入元素的个数和需要检查的序列个数。第2行给出N个以空格分隔的正整数,作为初始插入序列。最后L行,每行给出原创 2020-05-09 19:26:07 · 129 阅读 · 0 评论 -
树的bfs
题目来自:点击这里题目如下:Given a tree, you are supposed to list all the leaves in the order of top down, and left to right.Input Specification:Each input file contains one test case. For each case, the first line gives a positive integer N (≤10) which is the tota原创 2020-05-09 15:06:48 · 117 阅读 · 0 评论 -
二叉树同构
题目来源:点击这里代码如下:#include <cstdio>#include <time.h>#include<algorithm> #include<cstring>//静态链表建树 using namespace std;struct node{ char data; int left; int right;}t1[10],t2[10];int root1=-1,root2=-1;bool check1[10],check2[1原创 2020-05-09 14:33:40 · 232 阅读 · 0 评论