摘要:
线性基,可以拿来搞异或一类的东西。它可以表示出原数组互相异或能异或出的所有值。 一些性质: 1. 线性基的元素能相互异或得到原集合的元素的所有相互异或得到的值。 2. 线性基是满足性质 1 的最小的集合。 3. 线性基没有异或和为 0 的子集。 4. 线性基中每个元素的异或方案唯一,也就是说,线性基 阅读全文
摘要:
bsgs,北上广深,拔山盖世,蓝超巨星(blue super giant star)。大概是\(O(\sqrt n)\)求解模意义下离散对数的一个算法。经典的平衡复杂度思想。 本质是根号分治。 离散对数,也就是长这样的一个东西: \[a^x\equiv b\pmod p \]其中\(p\)是个质数, 阅读全文
摘要:
我觉得既然你无法预料究竟要考什么那就在考到之前把oiwiki上的所有东西搬到你的博客里,这就是我现在正在做的。 点着色 (无自环无向图) 定义:对无向图的每个节点染$k$种颜色,使得相邻节点颜色不同,则该无向图是$k-$可染色的。若该图是$k-$可染色的,但不是$k-1-$可染色的,则$k$为该图$ 阅读全文
摘要:
upd on 2023.2.22:今天是 b20 日,发现我半年多前写的这个东西是个什么几把,决定找时间翻修一下。 首先那些最基本的东西应该都不用说了。加法原理乘法原理小学生都会,组合数排列数初中也该会了(最起码应该见过吧)。下面讲一点别的。 多重集的排列数:一个多重集,$n$个元素,有$k$种,它 阅读全文
摘要:
lyin场切黑题太强了 首先康托展开是用来求一个全排列的排名的东西。复杂度$O(n^2)$,树状数组可以到$O(n\log n)$。板子 简单说一下原理:首先一个长为$n$的排列数是$n!$没什么问题。所以我们可以对于每一位考虑有当前位之后有多少排列要比该排列小。 举个例子:$3,1,4,2,5$这 阅读全文
摘要:
一堆小玩意,放到一起。 题意:给定一个n个元素数列,保证有一个数$a$的出现次数超过$\lfloor\frac n2 \rfloor$,求这个数。 数据范围$n<=3000000,a_i\le2147483647,$时限0.5s,空间2M。 也就是说你就只开几个变量就行了。(虽然考试的时候有人拿ha 阅读全文
摘要:
其实排序能用的上的就三个:快排,归并,基排($O(wys)$)。(其实priority_queue可能也算) 快排很好说,sort就行。还有一个stable_sort是相同大小元素顺序不变的稳定排序算法。(事实上我随了1e7个随机数,sort是3.412s,stable_sort是3.569s) 然 阅读全文
摘要:
(我闲着没事干写这个干什么)(主要是看了整体二分然后心血来潮想补一下)(好了当天下午考了个三分函数极值卡精度了) 一类思想:二分法。 二分查找 顾名思义,二分一个元素的位置然后查找。前提是数组有序。这样我们可以每次二分中间的元素,若需要查询的元素比它小则把右端点跳到中间,反之跳左端点。 举个例子,查 阅读全文
摘要:
扫描线的一些经典应用:求n个矩形的面积并和周长并。 面积并(P5490 【模板】扫描线) 首先扫描线的思想就是假设有一条无限长度的线从一个方向到另一个方向扫一遍整个图形,这样这个图形就变成了一大堆小矩形,然后算每个矩形的面积。这个过程可以上棵线段树。 怎么搞?首先我们随便找一维(我找的是y轴)离散化 阅读全文
摘要:
cdq分治,一种广为人知的离线分治算法。大体的思想是: 将左右两边区间分开递归处理。 统计左边区间修改对右边区间查询的影响。 第一步很简单,写两个递归就行了。关键在第二步。我们搞个cdq的经典问题——三维偏序来具体解释这个东西。 P3810 【模板】三维偏序(陌上花开) 三维偏序,顾名思义,要求三维 阅读全文