
数据结构
文章平均质量分 74
NONE-C
24届双非本,自动驾驶算法工程师
勿忘初心:做有挑战的事
展开
-
2022年ccpc绵阳站E题 E. Hammer to Fall( 倒序dp + 分块优化)
简单的倒序dp 以及经典的分块原创 2022-11-23 22:32:13 · 1350 阅读 · 3 评论 -
树链剖分基础入门 -- 强大的树上操纵数据结构
树链剖分是使用十分简单但却强大的数据结构,针对的树上的区间操作原创 2022-07-27 22:16:12 · 316 阅读 · 0 评论 -
莫队--优雅的暴力
莫队、带修莫队、回滚莫队、树上莫队原创 2022-07-27 22:11:33 · 255 阅读 · 0 评论 -
2022年杭电多校第2场 1001 Static Query on Tree(树链剖分+哈希表差分
这是第二场多校,写完签到题,就开了1001。其实看懂题目之后,思路还是挺快就出现了,当时就给队友口胡了一种算法,如果能把C的子树染色,在把A,B每一个点到1的路径上的全部打上个标记,最后统计一下答案救过了。给定一棵根为1的树,给定点集A,B,C,能被A任意一个到达,B任意一个到达,且能达到C的任意一个的点的数量。本来打算写线段树的,但是想到就只有三种颜色,用点小技巧就可以过了,少写线段树,代码立马缩减90行。果然还是吃了没文化(数据结构)的亏,花了两天在恶补树剖,终于把这题给A了。......原创 2022-07-26 21:39:15 · 557 阅读 · 0 评论 -
Codeforces Round #804 (Div. 2) D. Almost Triple Deletions time limit per test2 seconds (dp好题)
DP好题给定一个长度为n的数组,其中可以通过一个操作使得相邻的两个不同的数移除序列,求经过任意次操作后,最终该序列最大能有多少个相同的数剩余。赛场上拿到这道题,想到了以下几点:对于一段序列,只有当该段序列中出现最多次数的数的次数小于整体一半,那么该段数便可以消去。于是赛场上便开始对这道题开始疯狂贪心。在快结束时,想到n2n^2n2可以去枚举i,j之间的消去性然后转移,到此比赛也结束了。赛后看了大佬的代码,确实,就是将以上两点结合起来,就可以dp了。为了判断1,我们只需要在第二重dp时,倒着扫,.原创 2022-07-08 09:38:17 · 187 阅读 · 0 评论 -
2022年 第十三届蓝桥杯 省赛 c++ B组
起这次题目相较于2021年有了很大变动,最大的变化就是填空题变少了,编程题数量增加。今年的填空题只有两道,还记得去年大一时学长的话,填空题全对就省一了。今年的题型变化导致身边的一些伙伴去年省一(无需编程,会数学即可),今年就无缘国赛。尽管位次同大一一致(弱势C++B组第三),但在体验上确实有所不同,经过了一年的努力,至少省赛的每一道题都具有AK的潜力,(正式省赛时并没有十分重视,环境也比较嘈杂)。接下来,就一起过一遍题目。试题A:九进制转十进制题目很蓝桥,手算,计算器算都可,值得一题的是,蓝桥原创 2022-05-03 15:56:39 · 3284 阅读 · 0 评论 -
Codeforces Round #672 (Div. 2)Pokémon Army(c1+c2)
题目传送门题目大意:给出一个序列 a,要求求出一个单调递增的下标序列 b,使得 ans=ab1−ab2+ab3−ab4+…ans=a_{b_1}-a_{b_2}+a_{b_3}-a_{b_4}+\dots ans=ab1−ab2+ab3−ab4+… 最大,输出这个最大值。接下来有 q 个操作,每个操作为一个二元组 (l,r),交换 al与ara_l 与 a_ral与ar。求出交换后最大的 ans。其中c1 c2的区别在于c1操作数为0解题思路:通过对式子的观察,我们会发现找原创 2022-04-10 16:47:47 · 264 阅读 · 0 评论 -
挑战程序设计:Codeforces Round #776 (Div. 3) G. Counting Shortcuts(最短路计数+分层DP)
题目传送门题目大意:给定一张无自环无重边的无向图G,以及起点和终点S和T,边权都为1,求从S到T的路径长度<=最短路长度+1的数量。解题思路由于边权长度恒定为1,因此最短路计数十分简单,利用bfs即可,前时间复杂度为稳定的O(2m)。无需使用spfa或者djstra。当我们获得最短路的数量后,我们就需要考虑对于某一点如何求其最短路+1的路径数量。对于点x,设其距离S的最短路长度为midis,有哪些点会更新该点的最短路+1的数量。假设点x与点y联通:当点y的dis>midis时,原创 2022-03-09 17:05:21 · 488 阅读 · 0 评论 -
Codeforces Round #768 (Div. 2) C And Matching(思维构造) D Range and Partition(贪心+动态分割)
C题传送门D题传送门D题赛后一分钟看出来bug,着实意难平,连夜写份题解泄愤,其实D题并不难,只需要注意两个思维点即可。先讲D吧D Range and Partition题目大意给定一个长度为n的数组a,将a划分成K块,每块都是连续的。求一个范围[x,y],且y-x最小。对于每一块都需要满足块中处于[x,y]中的数的数量严格大于不处于块中的数量。思维点思维点1:由于每一块中都需要满足条件,那么每一个中在范围内的数量一定>=不在范围内的数量+1.显然,于是我们可以得出一个对于整体原创 2022-01-28 01:37:57 · 802 阅读 · 0 评论 -
概率期望 绿豆蛙的归宿
绿豆蛙的归宿给出一个有向无环的连通图,起点为 1,终点为 N,每条边都有一个长度。数据保证从起点出发能够到达图中所有的点,图中所有的点也都能够到达终点。绿豆蛙从起点出发,走向终点。到达每一个顶点时,如果有 K 条离开该点的道路,绿豆蛙可以选择任意一条道路离开该点,并且走向每条路的概率为 1/K。现在绿豆蛙想知道,从起点走到终点所经过的路径总长度的期望是多少?输入格式第一行: 两个整数N,M,代表图中有 N 个点、M 条边。第二行到第 1+M 行: 每行 3 个整数 a,b,c代表从 a 到原创 2022-01-07 10:04:33 · 387 阅读 · 0 评论 -
ACM模板(从小白到ACMer的学习笔记)
这一个弱校大二,从小白到ACMer的学习笔记,主要时用于自己的理解和记录一些自己的模板,基本上囊括了铜牌水准的知识点。原创 2021-11-13 23:35:36 · 5237 阅读 · 0 评论 -
莫队算法---优雅的暴力---自然的算法
莫队算法——优雅的暴力莫队–优雅的暴力,当遇到大量的区间询问时,假如区间的左右下标有着一定的规律,我们可以如何求解?如:[1,3],[1,4],[1,5],[2,5][1,3],[1,4],[1,5],[2,5][1,3],[1,4],[1,5],[2,5]。当然是双指针!其时间复杂度从n2n^2n2下降到o(n)o(n)o(n)。莫队就是这样一个算法,通过预处理询问顺序,来降低时间复杂度。当然,前提是能够预处理,强制在线的题目便与莫队无缘。其预处理流程如下:首先将数据分块,分块大小为si原创 2021-10-06 12:03:48 · 218 阅读 · 0 评论