块状链表://下标从0开始 //块大小和块数设为比sqrt(n)稍大 const int N = 2000000 + 10, block_sz = 4000 + 100, block_num = 4000 + 10; queue<int> que; int head; char str[N]; struct block { int sz, next;//sz:块内大小,nex
原创 2017-08-28 12:41:48
42阅读
一、概述           有时候我们需要设计这样一种数据结构:它能快速在要求位置插入或者删除一段数据。先考虑两种简单的数据结构:数组和链表。数组的优点是能够在O(1)的时间内找到所要执行操作的位置,但其缺点是无论是插入或删除都要移动之后的所有数据,复杂度是O(n)的。链表优点是能够在O(1)的时间内插入和删除一段数据,但缺点是在寻找操作位置时,却要遍历整个链表,复杂度同样时O(n)的。这两
转载 2021-08-12 17:04:36
838阅读
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1507题意:思路:
原创 2017-08-01 17:17:51
58阅读
复杂度O(nn√logn)O(n\sqrt n \log n)#include<cstdio> #include
原创 2015-12-03 07:22:09
85阅读
题目:https://vjudge.net/problem/SCU-3035题意:Description一个长度为 n 的整数序列初
原创 2017-08-01 19:50:52
52阅读
题目:http://poj.org/problem?id=2887题意:初始给定一个字符串,然后有两种操作:I ch pr
原创 2017-08-01 09:14:38
47阅读
第一次写块状链表,发现还挺好写的,但是一点地方写错加上强制在线就会各种姿势WA/TLE/RE爆…想法就是分块后,在每一个块上维护最大值和次大值,还在每一个块上维护一棵trie树来求异或最大值.散块直接暴力…这想法暴力吧…这道题不用考虑合并,因为最多分出(n+q)/Bsz块.详细的做法如下对于修改一个数,首先在该块的trie数中删除该数(直接伪删,也就是让那一条路径上每个点的cnt都减1),然...
原创 2023-02-20 16:43:48
42阅读
problem给一个字符串,长度不超过 1e6,有两种操作:在第 i 个字符的前面添加一个字符 ch查询第 k 个位置是什么字符操作的总数不超
原创 2023-02-08 15:03:57
57阅读
1507: [NOI2003]Editor Time Limit: 5 Sec   Memory Limit: 162 MB Submit: 922   Solved: 323 [​​Submit​​][​​Status​​][​​Discuss​​] Description 很久很久以前,DOS3.x
原创 2013-02-22 22:14:48
127阅读
num = sqrt(n); for (int i = 1; i <= num; i++) st[i] = n / num * (i - 1) + 1, ed[i] = n / num * i; ed[num] = n; for (int i = 1; i <= num; i++) { for (i ...
转载 2021-11-02 21:13:00
106阅读
在数据结构的世界里,我们会认识各种各样的数据结构,每一种数据结构都能解决相应领域的问题,每一种数据结构都像是降龙十八掌中的某一掌,掌掌毙命。。。 当然每个数据结构,有他的优点,必然就有它的缺点,那么如何创造一种数据结构来将某两种数据结构进行扬长避短,那就非常完美了。这样的数据结构也有很多,比如:双端队列,还有就是今天讲的 块状链表,我们都知道 数组 具有 O(1)的查询时间,O(N)的删除,O(N
原创 2021-02-24 21:13:05
299阅读
在数据结构的世界里,我们会认识各种各样的数据结构,每一种数据结构都能解决相应领域的问题,每一种数据结构都像是降龙十八掌中的某一掌,掌掌毙命。。。当然每个数据结构,有他的优点,必然就有它的缺点,那么如何创造一种数据结构来将某两种数据结构进行扬长避短,那就非常完美了。这样的数据结构也有很多,比如:双端队列,还有就是今天讲的块状链表,我们都知道数组具有O(1)的查询时间,O(N)的删除,O(N)的插入。
原创 2020-08-28 21:06:23
179阅读
. 红楼梦 平凡的世界 曾国藩家书 大谋小计50年 阳光心态 一花一世界 商经 创业者在知乎 庄子 人生若只如初见View Code
原创 2022-05-05 15:19:54
132阅读
块状元素DIV(盒模型)首先设置一个DIV,如图所示:<span style="font-size:18px;">div{ width: 295px; height: 132px; }</span>块状元素div,以下称之为内容,如图可以看到 三个名词.pading(内边距),border(边框),margin(外边距)下面就简单介绍一下它们的使用方法.1.pading
转载 2023-06-06 14:48:19
109阅读
· 在讲解CSS布局之前,我们需要提前知道一些知识,在CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。 常用的块状元素有: <div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<ad
这就是一道数据结构裸题啊,最大极差就是区间最大值减最小值,最小极差就是相邻两个数差的最小值。然后平衡树splay/treap或者块状链表维护就行了。第一次自己写块状链表,蛮好写,就是长。。然后就BZOJ rank1了(2019.5.11求不打脸CODE#include <bits/stdc++.h>using namespace std;const int MAXN = 200005;
原创 2023-02-21 08:36:58
41阅读
# 实现mysql块状分组 ## 概述 在mysql中,块状分组是一种将数据按照某个字段进行分组,并将每个分组内的数据进行排序的操作。这种操作可以在处理大量数据时提高查询效率,让数据更加有序,方便后续的分析和处理。 ## 流程 下面是实现mysql块状分组的流程,我们将使用几个简单的步骤来完成: ```mermaid gantt title 实现mysql块状分组流程 sec
原创 2024-06-11 06:25:08
17阅读
【题意】 回答若干个询问,(l,r,a,b):区间[l,r]内权值在[a,b]的数有多少[种]。 【思路】 考虑使用块状链表实现莫队算法中的插入与删除。 因为权值处于1..n之间,所以我们可以建一个基于权值的块状链表,每个块维护一个区间信息sum,表示权值在该块的数的种数。 这样插入与删除只需要O(
转载 2016-04-01 16:30:00
33阅读
2评论
在数据结构的世界里,我们会认识各种各样的数据结构,每一种数据结构都能解决相应领域的问题,每一种数据结构都像是降龙十八掌中的某一掌,掌掌毙命。。。 当然每个数据结构,有他的优点,必然就有它的缺点,那么如何创造一种数据结构来将某两种数据结构进行扬长避短,那就非常完美了。这样的数据结构也有很多,比如:双端队列,还有就是今天讲的 块状链表, 我们都知道 数组 具有 O(1)的查询时间,O(N)的删除,O(N)的插入。。。 链表 具有 O(N)的查询时间,O(1)的删除,O(1)的插入。。。 那么现在我们就有想法了,何不让“链表”和“数组”结合起来,来一起均摊CURD的时间,做法将数...
原创 2021-09-04 14:47:23
96阅读
给定一个长度为$n$的序列。$q$次操作,分为三种:询问区间第$k$大、修改一个值、插入一个值。
转载 2021-04-07 09:57:00
154阅读
  • 1
  • 2
  • 3
  • 4
  • 5