03 2023 档案
摘要:1.1 逆序对交换性质 我们先假设没有哪两个数是一样的,这样比较方便。 冒泡排序的时候我们会交换一些相邻的数字,最小交换次数就是逆序对数。这是因为,相邻两个数之外的逆序对数不会改变,只有两个数本身 这一对的一定会发生 的变化。没有排好序的时候我们一定能够找到
阅读全文
摘要:3.23 考前押个题! 可能考字符串。 可能考分块/莫队/扫描线/颜色段均摊。 可能考dp优化,斜率优化,决策单调性,保序回归这样。 可能考数论,筛法。 可能考树上数据结构。 可能考 polya。 可能考 prufer 序列,容斥,lucas/kummer 定理。 可能考维护线性基。 要专注于题目本
阅读全文
摘要:简介 求出字符串的所有回文子串。 算法思想和流程 我们想找到每一个字符 作为回文中心的时候,最长回文串的半径 是什么。那么以 为中心, 为半径,都是回文子串, 为半径,都不是。考虑暴力算法对于每一个中心向外探测,时间复杂度
阅读全文
摘要:区间覆盖,维护颜色信息。 直接维护每一个点的颜色,和维护颜色段有不同的效果。后者显然对信息处理效率更高。 考虑一个区间覆盖的影响。 最多加入一个区间,删掉若干个区间。 如果一开始有 段颜色,有 段区间覆盖,那么总时间复杂度不超过 。这个
阅读全文
摘要:算法介绍 如果有一个序列上的多个区间询问,并且可以离线,且某区间 推到 是比较容易的,那么可以使用一种较好的排序询问方式,使得总端点位移次数达到一个较小的值。 这种排序方式是:考虑对序
阅读全文
摘要:第一种定义方式 对于一棵树和若干个给定的点集,如果点集大小之和固定,这个点集的虚树是保留了点集信息的,并且点数和点集大小相关,如下图: 注意这里的虚树不包含点 和 中间的 ,因为它并没有起到分叉的作用,如果加上这类点那么点数规模是不对的。 建立虚树 首先取出点集 ,
阅读全文
摘要:## 1 扫描线 ### 1.1 研究对象 在一个B维直角坐标系下,第i维坐标在一个整数范围[li,ri]间,内部的点集称为一个B维正交范围。 一般1维正交范围简称区间,2维正交范围简称矩形,3维正交范围简称立方体 对于B维正交范围,每一维都有两个限制,即有两条边(side),这样是一个2B-sid
阅读全文
摘要:template 支持一次性定义关于多种数据类型的函数: 例如 void cmin(double &x, double y) {...} void cmin(int &x, int y) {...} void cmin(char &x, char y) {...} ... 可以直接写作: templ
阅读全文
摘要:array::array array<typename, size> name; (typename name[size]) 在越界的时候会加以警告。(再也不用调这玩意啦!) 取某一个元素和普通数组一致。 fill(t); 可以直接这样写把整个数组赋值。 iterator: 随机访问。 常数方面,是
阅读全文
摘要:三月十八日,没有看清楚数据范围,数组开小了,警钟敲烂。数组不全是2e5,!!! 三月十九日,log2没有写,并且烦躁,调4个小时,因为数组越界对拍不出来,警钟敲烂。 三月二十日,循环的第三变量一直在改变,警钟敲烂。还有要注意迭代器和vector不能一起移动。 三月二十三日,**不能定义 uint,只
阅读全文
摘要:## 1 调整法证明贪心 考虑证明某一种方案是最优策略的时候,这样证明:对于解集合里的其他所有解,都**存在一种调整使得其变得更优**,说明其他解都不是最优解。这里来看两个例子: ### 1.1 最小生成树的内核和证明 首先感性去看一下这个问题。一棵生成树的核心是把一些点联合在一起。我们会想到,对于
阅读全文
摘要:专业提示--趁着免费的时候得到它们 作者:Um_nik, 历史, 5 天前, 用英语说 在我的辅导下学习时,更多的技巧可以在这里使用。 不要再关心评级了 除非涉及奖金,否则你在积分榜上的位置没有任何区别。如果我知道我可以再解决一个问题,我可以在赢得比赛后感觉很糟糕。或者我知道我解决了所有我能解决的问
阅读全文
摘要:一些函数性质: 一次函数:最大值和最小值在 的最大值或最小值取到。 (引申)反比例函数:最大值和最小值在 的最大值或最小值取到。 奇/偶函数:对称性。 单峰/单谷函数:可三分性。 凸函数:可以二分斜率。(上凸函数斜率单减,峰值处斜率是 )函数在某点处的斜率
阅读全文
摘要:1 2-SAT 问题 1.1 什么是 2-SAT 个 bool 变量,有 个限制,形如:“第 个变量的真假性为 ,那么第 个变量的真假性需要为 ”,其中 。求这些变量的一组合法取值,使得满
阅读全文
摘要:介绍 解决树上问题的时候,对于路径问题我们会想到树分治、启发式合并。对于子树问题我们会想到在 dfs 序上转化为序列问题方便维护。 那么对于路径问题,能不能也转化为序列问题? 可以的。 这就是树链剖分在做的事情:把一棵树划分为若干段 dfn 连续的区间,使得某一个路径可以被拆分为 $O(\log n
阅读全文
摘要:多项式,就是提供了一个代数手段解决问题。——rsy 1 多项式的次数 1.1 差分法 考虑一个数列 。其是一个关于 的 次多项式。 对数列做 阶差分之后变成一个非零常数数列(所有 都是一个固定的非零常数)等价于多项式的次数为 。 证明: 考虑
阅读全文
摘要:费用:给每一条边定义一个费用,那么对于一个可行流,其费用为 。 最小费用最大流:对于所有最大可行流中费用最小的那一个。 求法:考虑朴素的 ek 算法。是每次 BFS 得到一条增广路,然后进行增广操作。 对于
阅读全文
摘要:复数 复数的代数表示:,定义 。 四则运算: 其中 和 是共轭复数,其乘积为 。 复数的几何表示:实轴和虚轴两个轴组成平面直角坐标系,构成复平面,一个复数就是复平面上的一个向量。 相反数、加法、乘法运算如下图所示。 乘法运算的
阅读全文
摘要:JOI2023 C 【题意】 给定一个 的 网格,有一个 的印章,可以花费 的代价盖在任何一个地方并把这些格子都变成 。求使得起点和终点之间有一条只由 组成的边花费的最小代价。 考虑正解: 这么一个流程,我们怎么实现
阅读全文
摘要:Part1 D 【题意】 有一个数组 ,给定 ,现在要将数组内 个数加上 ,其他的数减去 。问得到的所有可能数组中最大子段和的最大值。 $1 \le n \le 2 \times 10^5, 0 \le k \le \min(20, n), -10^9 \
阅读全文