Data_Structure
Miserable_ccf
Stay hungry ,stay foolish
展开
-
ACwing 105.七夕祭
链接:https://www.acwing.com/problem/content/description/107/题意:一个n×mn\times mn×m的二维矩阵,给出矩阵中的 ttt 个点,点可以和相邻的点交换,最后一个和第一个认为是相邻点,问时候可以满足每行点个数一致,每列点个数一致,两者都一致?思路:读完题,第一个感觉就是 带有环的“均分纸牌”问题,首先行列互相不影响,可以分开去...原创 2020-03-22 14:51:14 · 301 阅读 · 0 评论 -
洛谷 P4378 —— 树状数组求逆序对
除了朴素求逆序对,常见的求逆序对主要有两种方法。原创 2020-03-15 00:07:05 · 460 阅读 · 0 评论 -
『最短路径』单源无负权值最短路径算法——Dijkstra算法(优先队列优化 + C++实现 + 例题)
『算法原理』最短路径(Shortest Path):一个结点到另一个结点的最小权值和。Dijkstra算法同时也叫单源最短路算法,其思想是——按路径长度递增的次序产生最短路的算法。通俗来讲就是,找出从源点开始通过1条边可以到达的点的最小路径,2条边可以到达的点的最小路径,....,n-1条边可以到达的点的最小路径,将权值最小的点加入到集合S中,一直更新到终点位置,找到源点和终点的最小路...原创 2020-01-29 22:09:42 · 593 阅读 · 0 评论 -
luogu P3258 [JLOI2014]松鼠的新家 —— 树上点差分
树上差分是为了解决在树上某条路径中点/边被经历的次数。题意原创 2019-10-25 21:50:29 · 233 阅读 · 0 评论 -
快乐地打牢基础(3)——RMQ问题
RMQ问题是Range Maximum(Minimum) Query的缩写,就是查询某个区间的最大最小值,可以使用线段树,ST表,笛卡尔树上求LCA等多种方法求。ST表由于之前已经写过了博客,所以直接上题。一本通 OJ:http://ybt.ssoier.cn:8088/【例题1】 1541 数列区间最大值题意:输入一串数字,给你 M 个询问,每次询问就给你两个数字 X,Y,要求你说出...原创 2019-08-15 00:03:50 · 378 阅读 · 0 评论 -
快乐地打牢基础(4)——树状数组
在解题的过程中,我们想维护一个数组的前缀和s[i] = A[1] + A[2] +…+A[i]。我们改变任意一个A[i],那么S[i]之后都会发生变化,朴素写法调整前缀和S最坏的情况需要O(n)的时间。所以引入树状数组,它的修改和求和都是O(logn)的,效率非常高。一、基本思想根据任意正整数关于2的不重复次幂的唯一分解性质,若一个正整数x的二进制表示为10101,其中等于1 的位置是0...原创 2019-08-15 22:32:32 · 299 阅读 · 0 评论