数据结构
文章平均质量分 53
Prime me
Nobody can defeat me unless I don't want to win.
展开
-
图论小结(超详细)
文章目录1:最短路2:最小生成树3:最近公共祖先(LCA)1:最短路2:最小生成树3:最近公共祖先(LCA)原创 2022-02-09 21:27:56 · 429 阅读 · 0 评论 -
算法:求逆序对个数(暴力&&归并排序&&树状数组&&权值线段树)
算法:求逆序对个数四种方法。1,暴力2,归并排序3,树状数组4,权值线段树原创 2021-12-08 18:59:21 · 2853 阅读 · 0 评论 -
最短路算法
今天重新学习贪心,对单源最短路径有了新的认知,迪杰斯特拉算法就是我们常用的最短路算法,该算法本质是在贪心的基础上进行的图论延申。单源最短路径即为从一个点到其他点的最短路。该算法主要通过以下几步来完成。1:初始化最短路数组,dis[1]=0,dis[i]=+1000000000;2:循环n次,每次找出所有点中距离起点最近的那个点,将该点标记后,用该点更新其他的点的最短路距离。以下即为迪杰斯特拉算法的朴素算法代码模板。#include<stdio.h>#include<cstri原创 2021-11-26 20:24:30 · 98 阅读 · 0 评论 -
Nearest Common Ancestors(LCA)(最近公共祖先LCA)
题目链接:http://poj.org/problem?id=1330这个问题做法比较多,记录下自己的写法。1,首先将数据存储在邻接表里,先将数据按照并查集存储,然后将叶子节点的深度全部神深搜出来,存储到深度数组中。2,然后就是具体做法:先判断两个数是否在一棵树的同一层上,若不是先调整到同一层上。然后将两个数据在并查集内,同时向上搜寻,直至fath[a]==fath[b];#include<stdio.h>#include<iostream>using names原创 2021-11-12 18:51:48 · 280 阅读 · 0 评论 -
小希的迷宫(并查集)
http://acm.hdu.edu.cn/showproblem.php?pid=1272题目描述比较复杂,简言之就是要构造一棵无向树,在最后并查集完全构造好了之后只要将全部点遍历一遍,找到父节点是本身且被访问过的点后,若只有一个点则可以构造成功该迷宫。#include<stdio.h>#include<iostream>using namespace std;int pre[100010],visited[100010],qq;int find(int x){.原创 2021-11-09 21:23:16 · 152 阅读 · 0 评论 -
Monopoly(ccpc大学生程序竞赛补题)(前缀和加二分)
http://acm.hdu.edu.cn/showproblem.php?pid=7130第一步先求出前缀和和总和。判断sum值在不同情况下的处理情况。当sum==0,所有的数据只会在第一轮中出现一次。即若不在第一次中出现就不会出现。当sum<0时,将前缀和全部反转,并标记已翻转。将前缀和存入对应的取模后的map中进行存储,按照前缀和大小进行排序。然后二分查找若能找不到对应的取模值则输出-1,找到对应取模值后将前缀和值在数组中的位置取出。若取出值为最后,即为找不到对应值(只是对应的取模.原创 2021-11-08 19:03:37 · 210 阅读 · 0 评论 -
J Leaking Roof
Grandpa Are lives in an old house. Now it is the heavy rain that occurs only once in a hundred years, but the roof of Grandpa Are’s house leaks. His roof can be viewed as a n×n grid, and each square has a height. Denote the height of the square with coord.原创 2021-10-09 14:45:43 · 132 阅读 · 0 评论 -
A Busiest Computing Nodes
You have a computing cluster with a total of k computing nodes, labelled from 0 to k−1. The cluster can handle multiple requests at the same time, but each node can process at most one request at the same time.The rules for request assignment to computin.原创 2021-09-24 16:47:31 · 94 阅读 · 0 评论 -
A - 敌兵布阵(线段树&&树状数组)
C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。中央情报局要研究敌人究竟演习什么战术,所以Tidy要随时向Derek汇报某一段连续的工兵营地一共有多少人,例如Derek问:“Tidy,马上汇报第3个营.原创 2021-08-02 16:24:52 · 114 阅读 · 0 评论 -
A - Sliding Window(双向队列)
An array of size n ≤ 106 is given to you. There is a sliding window of size k which is moving from the very left of the array to the very right. You can only see the k numbers in the window. Each time the sliding window moves rightwards by one position. F.原创 2021-07-29 16:00:21 · 128 阅读 · 0 评论 -
Bad Hair Day(单调栈)
Some of Farmer John’s N cows (1 ≤ N ≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows’ heads.Each cow i has a specified height hi.原创 2021-07-30 10:04:20 · 53 阅读 · 0 评论