数据结构
文章平均质量分 86
线段树,树状数组,堆,栈,队列,Trie树等。
biu~跃哥冲冲冲
若青春容颜不在,我陪你天荒地老。
展开
-
【线段树-维护区间最小值和区间和】2021 ICPC网络赛第一场 D: Edge of Taixuan
Problem D: Edge of Taixuan评测传送门(ps: 评测时需要先花费一个币买下题目集后方可进行提交并评测。)题目大意:给出 nnn个结点,mmm次操作,每次操作给出一个区间 [l,r][l,r][l,r],和一个权值www,建立 lll 到 rrr 的完全图,边权均是 www。 计算出 “所有边的权值之和” 减去 “包含 nnn 个结点的最小生成树的权值”为最终所求答案,若无法构成最小生成树,输出指定字符串即可。解题思路:对于“所有边的权值之和”很容易就能求出来,简单画原创 2021-09-23 21:25:34 · 434 阅读 · 0 评论 -
【数列分块入门】1~9全题解
欢迎光临小店问题 A: 数列分块入门1问题 B: 数列分块入门 2问题 C: 数列分块入门 3(待补)问题 D: 数列分块入门 4(树状数组的操作)问题 E: 数列分块入门 5问题 F: 数列分块入门 6店面不大,请多包涵,哈哈哈哈哈问题 A: 数列分块入门1时间限制: 1Sec1 Sec1Sec 内存限制: 256MB256 MB256MB题目描述给出一个长为nnn的数列,以及 nnn 个操作,操作涉及区间加法,单点查值输入第一行输入一个数字nnn。第二行输入nnn个数字,第i个数字为a原创 2020-05-31 12:41:08 · 1523 阅读 · 2 评论 -
【基础莫队|暴力|扫描线+树状数组】CF220 B: Little Elephant and Array
Problem Little Elephant and Array评测传送门题目大意:给出长度为 nnn 的一个序列,有 mmm 组询问,每组询问给出一个区间,左端点 lll ,右端点 rrr, 查询区间[l,r][l,r][l,r]中有多少个数 xxx 的出现次数恰好也等于 xxx, 符号语言表达就是cnt[x]=xcnt[x]=xcnt[x]=x.解题思路:对于这个题的解法有好多种,在这里我简单的分析一二。一:莫队解法对于莫队算法,最经典的题目应该是HH的项链, “查询一个区间有多少个互原创 2021-08-14 11:00:30 · 121 阅读 · 0 评论 -
【字符串哈希】2020牛客国庆集训派对day1 Problem A: ABB
Problem: ABB传送门题目大意:给出一个长度为 nnn 的字符串,问至少在原串的末尾添加多少个字符可以使这个串变为回文串。题意转换:在原串的基础之上,求包含末尾字符的最长的回文子串,若该最长回文子串的长度为 lenlenlen,则答案 ans=n−lenans = n - lenans=n−len;解题思路:算法:字符串哈希(双向哈希)看一波范围,n∈4e5n∈4e5n∈4e5。求最长回文子串,普通的做法是两层for循环来求,显然在该数据范围下不能使用该做法。那就换;有一个比较原创 2021-04-08 21:35:43 · 194 阅读 · 2 评论 -
【数据结构】第三届中国计量大学ACM程序设计竞赛个人赛 问题A: Arithmetic Problems(只含加减乘除的中缀表达式计算)
传送门题目大意:给出一个不含括号的且只含加减乘除运算符和数字的字符串作为待计算的中缀表达式。运算符的计算规则依据下方图片中描述的形式给出。目的:求中缀表达式的值。解题思路:定义两个栈,一个操作符栈,一个运算数栈。首先遍历表达式,遇到操作数直接入栈,遇到运算符将优先级高的 “乘除”(实际意义中的乘除,接下来的加减也是实际意义中的加减)做相应的运算并在操作数栈中存入运算后的结果;将优先级低的 “加减” 堆进运算符栈。经过上述的一遍操作,最后会留下一个只含加减运算以及相应的运算数在表达式中。例如:将1原创 2021-02-16 22:25:23 · 151 阅读 · 0 评论 -
【Trie树&分治&异或】Codeforce- 888G - 8
问题:888G - 8问题传送门题目大意:你有一个含有 nnn 个点的完全图,每一个顶点有一个权值,在这张图中,连接两个顶点的边权值是这两个顶点的点权值的异或和,接着在这张完全图中求最小生成树,输出最小生成树的数值。解题思路:(1)暴力法:每一条边的边权已知,利用最小生成树算法(primprimprim或kruskalkruskalkruskal都可)求最小生成树。分析数据范围,nnn 的范围是2e52e52e5,该图为完全图,任意两个点之间都有连线,所以总的边数有4e104e104e10。上原创 2020-07-30 12:51:38 · 211 阅读 · 0 评论 -
【线段树】CF #458 (Div. 1 + Div. 2, combined) D Bash and a Tough Math Puzzle
经典数据结构之线段树介于复制粘贴文本过来后甚是难看的缘故,截个屏搬图片过来吧,嘿嘿再来一个原网站地址:D-Bash and a Tough Math Puzzle吐槽:光光学长讲太好了,讲的非常清楚,我竟然听懂了,哈哈哈,推一波他博客:光光学长博客在这里我再来梳理一遍思路,以加深印象。首先需要明确题意:给一个数组,在这里我们不妨用arrarrarr来表示;给定一个数qqq,表示qqq次询问,每一次询问可对应一种操作,一共有两种操作:1:1:1:询问区间 [lll,rrr]中是否可以通过更改给改原创 2020-05-21 17:34:40 · 360 阅读 · 0 评论 -
【单调栈】Minimum Sum
线段树题目描述One day, Snuke was given a permutation of length N, a1,a2,…,aN, from his friend.Find the following:Constraints1≤N≤200,000(a1,a2,…,aN) is a permutation of (1,2,…,N).输入The input is gi...原创 2020-03-31 16:09:41 · 301 阅读 · 5 评论 -
【线段树】单点修改&区间求和&区间求最大值&区间求最小值
*对于线段树,怎么说呢,就是直接套板子就得了,关键一点就是,细心点不要把板子都写错了,接下来我给出几道线段树题解 *文章目录一:不加修改的区间求最值二:单点修改求区间求最值三:单点修改区间求和四:区间修改,区间求最值五:区间修改,区间就和一:不加修改的区间求最值题目1:UPC Contest1461 - 数据结构 G题 数列区间最大值传送门问题描述:输入一串数字,给你M个询问,每次询...原创 2020-03-16 00:21:56 · 2441 阅读 · 0 评论 -
【set和lower_bound】Simple String Queries
Atcode contest 157 —E–Simple String Queries小感慨一下,初次见到这道题的时候,咋一看想到了线段树,当时心里还在暗喜,接着打脸的操作来了,什么?怎么存的是字符,而且求的也不是区间和,而我也仅仅只学会了线段树的单点修改和求区间和,对于这道题的话,单点修改,确实没错,这个不在话下,但对于这个查询操作,说实话,俺没一点思路当时,之后我到Atcoder上找到了这道...原创 2020-03-08 17:58:05 · 238 阅读 · 0 评论