
数据结构
文章平均质量分 90
t14
菜
展开
-
【Luogu P2221】[HAOI2012] 高速公路(线段树,期望)
目录题目题目背景题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示数据规模与约定思路代码题目题目传送门题目背景Y901 高速公路是一条重要的交通纽带,政府部门建设初期的投入以及使用期间的养护费用都不低,因此政府在这条高速公路上设立了许多收费站。题目描述Y901 高速公路是一条由 n − 1 n-1n−1 段路以及 n nn 个收费站组成的东西向的链,我们按照由西向东的顺序将收费站依次编号为 1 ∼ n 1 \sim n1∼n,从收费站 i ii 行驶到原创 2022-08-23 01:50:56 · 301 阅读 · 0 评论 -
【BZOJ 4765】普通计算姬(树状数组,分块)
目录题目DescriptionInputOutputSample InputSample Output思路代码题目题目传送门Description“奋战三星期,造台计算机”。小G响应号召,花了三小时造了台普通计算姬。普通计算姬比普通计算机要厉害一些。普通计算机能计算数列区间和,而普通计算姬能计算树中子树和。更具体地,小G的计算姬可以解决这么个问题:给定一棵n个节点的带权树,节点编号为1到n,以root为根,设sum[p]表示以点p为根的这棵子树中所有节点的权值和。计算姬支持下原创 2022-07-15 23:55:08 · 226 阅读 · 0 评论 -
【Luogu P4315】月下“毛景树”(树链剖分,线段树)
目录题目月下“毛景树”题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1提示思路代码题目月下“毛景树”题目描述毛毛虫经过及时的变形,最终逃过的一劫,离开了菜妈的菜园。 毛毛虫经过千山万水,历尽千辛万苦,最后来到了小小的绍兴一中的校园里。爬啊爬~爬啊爬 毛毛虫爬到了一颗小小的“毛景树”下面,发现树上长着他最爱吃的毛毛果 “毛景树”上有N个节点和N-1条树枝,但节点上是没有毛毛果的,毛毛果都是长在树枝上的。但是这棵“毛景树”有着神奇的魔力,他能改变树枝上毛毛果的个数原创 2022-07-15 00:26:48 · 134 阅读 · 0 评论 -
【BZOJ 4127】Abs(树链剖分,线段树)
目录题目DescriptionInputOutputSample InputSample OutputHint思路代码题目题目传送门Description给定一棵树,设计数据结构支持以下操作1 \;u\;v\;d1uvd 表示将路径 (u,v)(u,v) 加 dd2\;u\;v2uv 表示询问路径 (u,v)(u,v) 上点权绝对值的和Input第一行两个整数 nn 和 mm,表示结点个数和操作数接下来一行 nn 个整数 a_ia i ,表示点 ii 的权值原创 2022-07-15 00:11:01 · 186 阅读 · 0 评论 -
【Luogu P7527】[USACO21OPEN] United Cows of Farmer John G(树状数组)
目录题目题目描述输入格式输出格式输入输出样例说明/提示思路代码题目题目描述农夫约翰合牛国(The United Cows of Farmer John,UCFJ)将要选派一个代表队参加国际牛学奥林匹克(International bOvine olympIad,IOI)。有 NNN 头奶牛参加了代表队选拔。她们站成一行,奶牛 iii 的品种为 bib_ibi。代表队将会由包含至少两头奶牛的连续区间组成——也就是说,对于满足 1≤l<r≤N1\le l<r\le N1≤l<r≤N原创 2021-07-11 17:01:47 · 359 阅读 · 0 评论 -
【牛客网 2019 多校第三场】 J - LRU management (STL map)
题目思路emmmm。主要两种操作,插入,删除。第一想法STL暴力。很简单想到map,虽然比较暴力。据说map可能超时,所以我们使用unordered_map。模拟起来比较繁琐。代码#include <bits/stdc++.h> using namespace std;int n, m;struct node { int v; string m...原创 2019-07-27 17:44:47 · 177 阅读 · 0 评论 -
【2019 暑假JSOI Day 1 T3】 DNA(哈希)
题目【题目背景】小 X 身为奆老, 兴趣爱好广泛, 他还非常喜欢研究 DNA 序列……【题目描述】小 X 进行了一项关于 DNA 序列研究, 发现人某条染色体上的一段 DNA 序列中连续的 k个碱基组成的碱基序列与做题的 AC 率有关! 于是他想研究一下这种关系。现在给出一段 DNA 序列, 请帮他求出这段 DNA 序列中所有连续 k 个碱基形成的碱基序列中, 出现最多的一种的出现次...原创 2019-07-11 16:20:35 · 927 阅读 · 1 评论 -
【BZOJ 3343】教主的魔法(分块)
题目描述题目传送门思路明显是一道分块题查询时,对于一个完整的块,我们排好序,二分查找就行了对于不完整的块,直接暴力找。修改时,对于一个完整的块,打上add标记,二分找对于不完整的块,暴力修改,再排序整个块就好了。然后就完事了代码#include <bits/stdc++.h>using namespace std;const int M = 1010100;...原创 2019-05-27 18:03:31 · 131 阅读 · 0 评论 -
【BZOJ 2453】维护队列(分块)
题目描述题目传送门思路能看出来这是一道分块题。我们用last[i]表示与i相同的上一个的位置,将每个块内的按照last排序。查询时,暴力枚举不完整的块,二分(lower_bound)每个完整的块。修改时,直接暴力重构被影响的块。然后就完事了。。。代码#include <bits/stdc++.h>using namespace std;const int M =...原创 2019-05-27 19:20:10 · 170 阅读 · 0 评论 -
【POJ 1151】 Atlantis(线段树,扫描线,离散化)
文章目录题目DescriptionInputOutputSample InputSample OutputSource思路代码题目DescriptionThere are several ancient Greek texts that contain descriptions of the fabled island Atlantis. Some of these texts even i...原创 2019-08-08 10:35:05 · 244 阅读 · 0 评论 -
【POJ3468】 A Simple Problem with Integers (线段树)
题目描述You have N integers, A1, A2, … , AN. You need to deal with two kinds of operations. One type of operation is to add some given number to each number in a given interval. The other is to ask for ...原创 2019-07-03 15:37:27 · 138 阅读 · 0 评论 -
【BZOJ 1645】[Usaco2007 Open] City Horizon 城市地平线(线段树+扫描线)
题目DescriptionFarmer John has taken his cows on a trip to the city! As the sun sets, the cows gaze at the city horizon and observe the beautiful silhouettes formed by the rectangular buildings. The e...原创 2019-06-24 16:38:59 · 210 阅读 · 0 评论 -
【BZOJ 1012】 [JSOI2008] 最大数maxnumber(线段树)
题目Description现在请求你维护一个数列,要求提供以下两种操作:1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数并且...原创 2019-06-02 17:46:48 · 144 阅读 · 0 评论 -
【BZOJ 1651】 [Usaco2006 Feb]Stall Reservations 专用牛棚(线段树,贪心)
题目DescriptionOh those picky N (1 <= N <= 50,000) cows! They are so picky that each one will only be milked over some precise time interval A…B (1 <= A <= B <= 1,000,000), which includ...原创 2019-05-29 10:54:01 · 197 阅读 · 0 评论 -
【BZOJ 5334】 [Tjoi2018] 数学计算 (线段树)
题目描述题目传送门思路直接模拟是不好做的(mod完之后不好除了),所以我们用线段树做。线段树只需要一个单点修改即可。因为题目中说过2操作pos一定是1操作,并且每个1操作只可能被除一次,所以我们可以造一个线段树,2操作就是把原来那个位置的值改为1。就完事了。代码#include <bits/stdc++.h>using namespace std;typedef...原创 2019-05-28 20:18:06 · 296 阅读 · 0 评论