TJUACM寒假集训
文章平均质量分 74
swww77
这个作者很懒,什么都没留下…
展开
-
ST表板子
查询l-r区间最值:cout<<max(dp[l][k],dp[r-(1<<k)+1][k])<<endl;ST表构建时间复杂度O(nlogn),查询时间复杂度O(1)用于查询分段区间最值。原创 2024-03-01 14:35:28 · 338 阅读 · 0 评论 -
自定义类型二分查找与二分答案
二分答案是指答案所在区间满足有序性,那么通过二分的方式来缩小答案所在的区间,如果判断答案所需时间复杂度为n,区间长度为m,那么正常判断所需的时间为O(n*m),而二分查找所需时间O(n*logm)。因为pair重载了<,==,所以可以直接比较pair,pair的比较是从前往后比较,先比较第一个如果都相等再比较第二个。这里的make_pair()是构建一个临时变量,构建完就删除,查询的是first为2的变量。如果需要的类型超过两个,pair不适用了,那么就需要自己构建类型,用结构体举例。原创 2024-03-01 16:38:15 · 964 阅读 · 0 评论 -
树状数组学习记录
树状数组的特点:可以动态地求前缀和或任何可合并操作的问题,当插入一个数字时,只需要logn的时间复杂度就可以更新所有的前缀和。原创 2024-03-01 14:00:56 · 1008 阅读 · 0 评论 -
广度优先搜索和深度优先搜索
图论学的破防了,于是先来恶补搜索。原创 2024-01-20 11:32:45 · 850 阅读 · 0 评论 -
对顶堆例题
放数字的时候,第一个数放q2里面,放入一个数,如果这个数大于q2顶,就放入q2.否则放入q1.动态寻找第k小的数,其实就是寻找第n-k+1大的数,对顶堆模板改一下就可.对顶堆是用两个优先队列组成的数据结构,一个大根堆,一个小根堆。通过维护q1的大小为k。q1的堆顶就是寻找的第k个数。通过这种方式可以动态的寻找第k大的数,而且复杂度很低。原创 2024-01-18 23:02:25 · 399 阅读 · 1 评论 -
求逆序数的板子(归并排序&树状数组)
/ 所以当a[i]在最前面时,后面一定有a[i]个比他小的数,n-a[i]-1个比a[i]大的数,所以每次把a【i】移到最后时,逆序数就会变化,a[i]到最后时,对应a[i]的逆序数为n-a[i]-1-a[i];// 然后是一个技巧,本题由于有一个条件,它输入的数一定是从0到n-1的一个排列(实际上线性代数实际也是这样的)// 如果在左面数组没放入的前提下,后面数组有数放入说明产生了逆序对。// 逆序对的变化是是左面数组已经放入的个数。// 是左面数组先放入然后后面数组再放入,// 两个数组a,b。原创 2024-01-13 22:37:35 · 435 阅读 · 2 评论 -
map浅浅的应用
map是一种散列的数据结构,由键和值组成的,既可以构造int和int之间的映射(例如数字大小和出现次数的映射),也可以构造任何自定义类型之间的映射。简单的桶排序的基本思路是用一个bool数组,下标是数字,存的内容是存在/不存在,通过一次线性存储和一次线性遍历就可以做到降重和排序。而且map极大节省了空间,且可以构造不同数据类型之间的映射,肥肠好用。总结一下,map可以很方便的处理两个数据满足的同一确定条件,如相等,相加为定值等问题。样例2中,有(1,2),(2,3)两种方案可以满足彦卿的要求,故输出2.原创 2024-01-15 00:08:25 · 988 阅读 · 0 评论 -
并查集和带权并查集
寻根函数,每寻找一次根,都要改变它的值,即a吃b,b吃c,那么c的掌门可以归结到a上,fx存储的是a的下标,b和c的关系也需要改变到a和c的关系,这样两条边的权就变成了一条边的权,这个权如何递推是带权并查集需要思考的一个难点。同理经过多次赋值之后,会出现两个生物都有了自己的根节点,就意味着有了自己的生态位,也说明了他们是联通的,可以通过边权来溯源寻找生物之间的关系。寻找每个人的掌门,这个函数涉及到了路径压缩,即在查询掌门的时候,就把f数组的内容改成掌门,这样接下来的查询只需要一次就可以完成。原创 2024-01-18 00:23:43 · 1110 阅读 · 1 评论 -
基础数论学习记录
矩阵快速幂和快速幂实现上的区别:矩阵快速幂的re需要设为单位矩阵I,矩阵乘法需要重载运算符*,即aij的数等于第i行*第j列每个相应的数相乘再相加。技巧:lowbit的应用,lowbit就是找到一个数二进制最小为1的位,比如说为n。快速幂的复杂度是O(logn),a的n次幂,如果n是奇数,那么a的n次幂等于a的n-1次幂。如果n是偶数,a的n次幂等于a方的n/2次幂。不难看出从1异或到2n+2得到的就是两个单身的数字的异或,叫这个数为sum吧。由于两个相同的数字异或等于0,一个数异或0等于他自己。原创 2024-01-18 11:36:27 · 863 阅读 · 1 评论