- 博客(16)
- 收藏
- 关注
原创 树状数组()
第五道题没想到,忘了树状数组的一些拓展的用法,所以痛定思痛重做一遍总结一下定义:额很难定义,其实个人感觉线段树跟树状数组都是分割区间罢了由于本文为树状数组章节所以只讲树状数组那部分tree[2^n]往往代表1~n的信息,实质上就是不断靠近那个为2^n的端点,然后取走所有的信息,当然最后一个是tree[2^n]是一定的,或者直接0了但那是特例n=1。
2025-03-14 18:33:42
454
原创 二叉堆()
写篇博客复习昨天新学的巩固一下(×)题太难了,摸会儿鱼(√)尾端与顶部互换,从上往下。(1)堆的insert。(仅供个人复习使用)(2)堆的erase。
2025-03-03 15:52:50
150
原创 数据结构之并查集
定义:在对并查集进行路径压缩和合并操作时,这些权值具有一定属性,即可将他们与父节点的关系,变化为与所在树的根结点关系。放道例题就能懂了,至于这个权值,肯定不是一直都是相加带取模的,这个我个人感觉得自己想,听说种类并查集也是带权并查集的一种,所以种类并查集就先不说(事实上也不会bushi)查询:是找祖宗,这个f[x]=find(fa);叫路径压缩减小时间复杂度,见下图。合并:其实就是找两个人祖宗,认一下祖宗。1.并查集基础(仅供个人复习使用)再碰到题的时候会再放上来。
2025-02-28 16:28:08
106
原创 字符串操作
顺带一提,cin输入字符串遇空格会被卡,建议getline(cin,s)极其好用。1.字符串stl操作(仅供复习使用)(施工ing...)
2025-02-27 10:25:48
197
原创 筛法&欧拉函数&莫比乌斯函数
最近的应该是4,4被2所筛,4*3会被2*6筛掉,所以没必要4*3,小质数能取到的倍数我们就不花费大质数的倍数去取了,不然凭空增加复杂度,然后你说为什么不大质数开始取,感觉这不乱了嘛,只能说尽量减小复杂度,感觉这种就很精妙,就是应该从小开始的,才能不重不漏。不妨理解一下为什么从i的i倍开始,i-1倍及之前的呢,事实上,i的i-1倍,也就是i-1的i倍,早就筛过了,详见第四层5的四倍不复存在,5的3,2倍都有,从小到大是这么用的?可以看到第三层3的4倍与2的6倍重合了,这代表筛重了。2.线性筛(O(n))
2025-02-24 17:45:59
182
原创 bitset
前言:补题时本来自己写的拼尽全力过不了,后来发现忘条件了,但思路还是题解提供的,感觉自己真就别天天想着暴力吧,误打误撞了解了一下bitset。注:int 范围最多(1<<30)-1,至于longlong回头再说,define int long long 不知道为啥没用。后文:整天生活的都很有压力,看见大佬说洛谷蓝题很水,这省选还很水吗,顺带说下这题是绿qwq。
2025-02-22 18:30:17
158
原创 快速幂板子
前言:觉得自己按进度走学的太慢了,学完了就准备全心意刷题了,准备直接刷路线题,比较快些。后文:极其简单,不再赘述,就是对于指数,偶数自乘,奇数另算。
2025-02-22 15:08:13
81
原创 动态规划精选题
那么现在来说dp[1],由上图右边几个数可以看出(我还挺刻意标了个相加),多个1无非就是多个起点嘛,无所谓,反正由图所示相加都是独立的,但关键点在于最后三个数223的时候,我第一个2多加的时候多加上了一个1这没问题,下面那个2先自加再加dp[1],等于我们以第一个1为起点的照流程走,第二个1为起点的上个2算的结果1算出来结果是3,欸正好对上了,等于说这就是一个分开独立累加的思想吧。下面说dp[2],就是这个dp[1]仍然有说的地方,所以图上画了虚线,把一划了其实就特别好分析,
2025-02-21 15:51:09
417
原创 链式前向星
前言:再看链式前向星总觉得十分生疏,为了改善眼高手低的坏毛病,就有了这篇博客。边的左边是nxt,右边是边序号,这样下来就十分简洁明了了。
2025-02-19 10:19:38
167
原创 cf 1005div2
又到了喜闻乐见的写博客记录环节,新手就是爱记录(误)D题:题面:一条直线上有 nn 个黏液,其中 ii 个黏液的重量为 wiwi 。如果 wi≥wjwi≥wj ,粘液 ii 能够吃掉另一个粘液 jj ;之后,粘液 jj 消失,粘液 ii 的重量变为 wi⊕wjwi⊕wj ∗∗ 。史莱姆之王想做一个参数为 xx 的实验,实验过程如下:史莱姆之王会向你提出 qq 个问题。在每个查询中,您将得到一个整数 xx ,您需要确定参数为 xx 的实验得分。请注意,国王并不希望你实际执行每个实验;他的史莱姆会死,这并不理想
2025-02-19 09:37:40
130
原创 单调队列&单调栈
流程是比>=这个的就pop掉,超出范围的pop掉,之后赋值每次输出第一个front就行,除了输出其他的顺序感觉无所谓,双端队列吧就是,作用是求滑动窗口内的最值。流程是这样,举例的话讲就是从前往后看高个子的人了属于是,这么看这个板子原理就会非常合理,单调队列也是一样,作用是求每个元素之后的最大最小值。
2025-01-20 23:13:09
182
原创 二分查找&&归并排序
拆分后的一个一个的因为你们是一个一个比,这样子比算起来没有任何问题,主要是后面多组排序的时候,前面你们算的逆序对影不影响我们后面的逆序对,现在看起来是毫不影响的,比如两组数4,3与2,6,难道4与3排好位置后影响我们的4,2与3,2逆序对吗,当然毫不影响,依次这样一层层相加即可。至于mid-i,也是挺合理的,枚举j,反正左半是排好序的,a[j]<a[i]证明左半下标>=i的元素都是逆序对,累加即可。归并基于二分实现的,流程不再赘述,也是计算逆序对的一种方法。刚想明白这个算逆序对的方法怎么来的。
2025-01-19 16:57:21
149
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人