- 博客(61)
- 资源 (1)
- 收藏
- 关注
原创 为什么会变成这样呢? #5(常数边权最短路)
给定一个 \(n\) 个点 \(m\) 条边的有边权无向图,其中边权 \(w_i\in \{0,1,\dots,k-1\}\),求点 \(1\) 到各个点的最短路。期望复杂度:\(O((n+m)k)\)0k最短路在经典的 Dijkstra 算法中,我们使用一个优先队列来维护松弛队列,这样的时间复杂度为 \(O((n+m)\log k)\)。现在我们考虑为每种边权开一个松弛队列(一共 \(k...
2023-08-19 13:04:00 80
原创 为什么会变成这样呢? #4(bitset)
bitset 维护01可行背包给定 \(n\) 个数 \(a_1,\dots,a_n\),已知 \(\sum a_i=O(n)\),求一种把 \(a\) 分为两组的方案使得两组的和尽可能接近。期望复杂度:\(O(n\sqrt n\log n/\omega)\)解答把 \(a_i\) 中相同的数合并,容易发现只有 \(O(\sqrt n)\) 种不同的 \(a_i\),然后按照多重背包动态...
2023-08-13 16:32:00 76
原创 为什么会变成这样呢? #3(并查集维护区间)
给定长度为 \(n\) 的字符串 \(S\) 以及 \(m\) 个区间 \([l_i, r_i]\),记 \(T=S[l_1,r_1]+\cdots+S[l_m,r_m]\),其中 \(S[x,y]\) 表示从第 \(x\) 个字符到第 \(y\) 个字符的子串。求如何重新排列 \(S\) 中字符的顺序使得 \(T\) 的字典序尽可能大。期望复杂度: 近似 \(O(n)\)。czy's tr...
2023-08-13 11:09:00 75
原创 为什么会变成这样呢? #2(绝对值与最大值转换)
优化动态规划式子,\(1\leq i\leq n\),其中 \(a_i\) 和 \(b_i\) 都是预先给定的常数:\[f(i)=\max_{1\leq k\leq i} f(k-1)+|a_i-a_k|+|b_i-b_k|\]期望复杂度:\(O(n)\)。解答:lcw's trick注意到 \(|x-y|=\max\{x-y,y-x\}\),于是考虑令\[\begin{aligned...
2023-08-13 01:39:00 62
原创 为什么会变成这样呢? #1 (最小异或生成树)
对于 \(n\) 个点的完全图,点 \(i\) 和点 \(j\) 之间的边权为 \(a_i \oplus a_j\),求该图的最小生成树,其中 \(\oplus\) 表示按位异或。期望复杂度:\(O(n\log n\log a_i)\)。解答把所有 \(a_i\) 插入 01trie。一个显然的结论是,对于在最终生成树上任意两个点之间的路径,其经过的点都一定在两点在 trie 上的 LCA...
2023-08-09 21:58:00 34
原创 C++14指北:花里胡哨的C++
类型!在最经典的 C++ 代码中,我们使用类似 类型名 变量名 = 表达式; 的形式声明并初始化变量,例如int x = 1;int y = x;在上面代码中,我们知道 y 理应与 x 的类型相同,但是在上面代码中,如果我们后来把 x 的类型修改为 int64_t,而忘记对应地修改 y 的类型,则可能导致灾难性的后果。对此,我们最简单的做法是使用类型别名。在 C++ 中,可以使用 usi...
2023-07-17 21:24:00 82
原创 【补档】开源软件与开源软件精神
据央视《新闻联播》4 月 17 日报道,记者从工信部了解到,我国开源软件开发者数量突破 800 万,位居全球第二。什么是开源软件?开源软件是源代码可以任意获取的计算机软件,任何人都能查看、修改和分发他们认为合适的代码。这些代码一般被保存在互联网的公开位置,以开源许可证发行,因此任何人都可以查看或修改这些代码。开源软件依托同行评审和社区生产,皆以分散、协作的方式开发。开源软件由社区开发,而非...
2023-05-07 19:59:00 136
原创 杂谈:直觉洞察与形式演绎
我们深知严谨的,形式化的推演在数学中所扮演的重要角色,然而必须指出,存在这样一些直觉上的,也即行之有效而不那么严谨的策略,在数学的学习和研究中一样十分重要。本文其实是G.波利亚的《怎样解题:数学思维的新方法》的读后感。(这本书在二中图书馆的编号是 O1/82)数学的声誉值得怀疑,它看起来是专业课程中最不受欢迎的学科。对于许多人而言,一个很常见的问题是这样的:到底是我天赋不够,还是教材不讲...
2023-03-10 18:55:00 43
原创 【实验性讲稿】级数与和式
我们首先要讨论的是级数。\(\sum\) 是一个熟悉的符号——在有限集合或有限序列上的级数可以简单理解为求和,但当级数放到无限序列上时,它的含义就变成了序列前缀和的极限。无限序列上的级数许多显然的结论并不好证明,我们将学习多种判断无限级数是否收敛的方法,以及浅显地介绍一下级数的重排。级数很快就要成为我们所研究的最常见的对象之一,我们一般意义上的有限级数(finite series)可以简单理解...
2023-02-22 21:32:00 58
原创 组合杂题选讲 #8
问题描述题意:现在有 \(n\) 个人要成立若干个社团(一个人可以属于多个社团,也可以不属于任何社团)满足没有两个社团包含的成员完全相同;存在一个整数 \(t\),使得任意两个不同的社团所共有的成员数恰好为 \(t\)。求证:所能成立的社团数量不超过 \(n\) 个。提示:形式化地说,设 \(U=\{1,2,\dots,n\}\),已知集簇 \(S\subseteq 2^U\) 满...
2023-01-22 13:17:00 41
原创 杂谈:二项式反演与多步容斥
这是两个本质不同的东西。多步容斥是“至少或至多选若干个”到“恰好选若干个”的变换。而二项式反演是“钦定选若干个”到“恰好选若干个”的变换。二项式反演虽然形式上和多步容斥极为相似,但它们并不等价,只是习惯上很多人把他们都称之为多步容斥。在二项式反演的组合意义上,记 \(f(n)\) 表示 “钦定选 \(n\) 个”,\(g(n)\) 表示 “恰好选 \(n\) 个”,则对于任意的 \(i\ge...
2022-12-19 21:46:00 61
原创 组合杂题选讲 #7
题目描述题意:每次抽卡时会从 \(n\) 种卡里随机获得一种,那么期望上抽到全部 \(n\) 种卡需要抽多少次?提示:随机试验中某个变量的数学期望(简称“期望”)是指该变量所有可能的结果的概率乘以其结果的总和。例如一个理想情况下的骰子的点数的数学期望由\[\frac16\times1+\frac16\times2+\frac16\times3+\frac16\times4+\frac16\...
2022-12-19 19:55:00 44
原创 组合杂题选讲 #6
题目描述题意:请证明,平面上不存在 \(4\) 个点,使得任意两个点之间的距离均为奇整数。提示:这里所说的距离是指欧几里得距离,即点 \((x_1,y_1)\) 和 \((x_2,y_2)\) 之间的距离由\[\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\]给出。容易发现,平面上 \(3\) 个点两两之间的距离均为奇数是可能的(边长为 \(1\) 的等边三角形)。解答...
2022-12-17 12:40:00 55
原创 组合杂题选讲 #5
题目描述题意:平面上有红色点和蓝色点各 \(n\) 个,且这 \(2n\) 个点没有三个点共线。我们称一种红蓝点之间的配对方案合法,是指在每对点之间用线段连接后,得到的 \(n\) 条线段没有交点。求证:一定存在一种合法的配对方案。提示:设 \(U=\{1,2,\cdots,n\}\),红色点分别为 \(p_1,p_2,\dots,p_n\),蓝色点分别为 \(q_1,q_2,\dots,q...
2022-12-16 22:29:00 51
原创 组合杂题选讲 #4
问题描述题意:已知有一个 \(n\) 点的无向图 \(G\) 不包含三元环,求 \(G\) 边数的最大值。提示:设 \(G=(V,E)\) 是一个无向图。我们称 \(G\) 包含三元环是指存在三个点 \(a,b,c\) 满足 \(\{(a,b),(b,c),(a,c)\}\subseteq E\)。例如当 \(n=5\) 时,下面是一个不包含三元环的图的例子,该图包含 \(5\) 个点...
2022-12-16 20:46:00 28
原创 组合杂题选讲 #3
问题描述题意:现在有 \(n\) 个人要成立若干个社团(一个人可以属于多个社团)满足每个社团的人数均为奇数;任意两个不同的社团所共有的成员数量为偶数。求证:所能成立的社团数量不超过 \(n\) 个。提示:形式化地说,记 \(U=\{1,2,\dots,n\}\),已知集簇 \(S\subseteq 2^U\) 满足对于任意 \(A,B\in S\),\(|A\cap B|\) 为奇...
2022-12-09 23:00:00 37
原创 组合杂题选讲 #2
问题描述题意:如果有 \(n\) 种不同颜色,每种颜色各 \(m\) 个球,每次以均等概率随机取出一个(取出之后不放回去),则期望上取出多少个球后可以取完某种颜色的球?提示:容易发现相同颜色的球是否视为一样对答案没有影响。随机试验中某个变量的数学期望(简称“期望”)是指该变量所有可能的结果的概率乘以其结果的总和。例如一个理想情况下的骰子的点数的数学期望由\[\frac16\times1+...
2022-12-08 22:52:00 61
原创 戴德金分割与实数理论
在集合理论和有理数理论的基础上,我们可以开始构建实数理论。下面将要介绍的是实数系 \(\mathbb{R}\) 的一种(通过有理数系 \(\mathbb Q\) 出发的)构造方法,是由戴德金于 1872 年提出。这种方法以戴德金分割而著称。除此之外,实数系还可以使用柯西序列的形式极限或者十进制下的小数表示来构造。5A.1 动机在定义新东西之前,我们通常要考察这个定义的动机,这里即我们为何需要...
2022-12-08 17:20:00 181
原创 组合杂题选讲 #1
问题描述题意:一个长度为 \(n\) 的由 \(-1\) 或 \(1\) 构成的序列 \(a\),其中 \(1\) 的个数为 \(c\) 个。我们称一个子区间合法是指该子区间的数的和大于等于 \(0\)。求证:所有合法子区间的左端点的数量不超过 \(2c\) 个。提示:子区间是指序列中连续的一段,形式化地说,问题是求证\[\left|\left\{l:\exists_{r\geq l}\l...
2022-12-08 17:07:00 29
原创 微积分入门
摘要:本文将会更加深入地研究加法,尤其是连续加法(integral)。简单探讨无限的意义。格式约定:这是正文。这是引用,导言,注释或拓展内容斜体只是调侃,活跃气氛,没有实际意义一种朴素的极限思想?一个概率小问题一些连续的求和问题,与面积无关……(可以跳过这一小节,对全文完整性没有影响。)例题2.1 给定一条长为 \(1\) 的线段,在上面等均匀随机地(uniform...
2022-11-16 16:03:00 112
原创 序列的极限
现在我们来用真正的、关于实数序列的极限来代替形式极限,这将是我们构造实数系的最后一步。6.1 收敛及极限的算律我们将重述第四章和第五章中提到的概念,但这些概念将由对有理数定义转为对实数定义。定义 6.1.1(距离):定义两个实数 \(x\) 和 \(y\) 的距离为 \(|x-y|\),记作 \(d(x,y)\)。定义 6.1.2(\(\varepsilon\) 接近性) :设 \(x...
2022-09-04 09:17:00 70
原创 实数
回顾一下,我们已经严格地构造了三个基本的数系:自然数系 \(\mathbb N\)、整数系 \(\mathbb Z\) 和有理数系 \(\mathbb Q\)。这些数已经足够用来做大量的数学事项。但是这还是不够用的,例如在微积分学、三角学甚至几何学中。所以人们需要用实数系来取代有理数系。实数无法用有理数来表示,但是却明确地处于有理数之间的某个 “空隙” 中:例如 \(\sqrt 2\),你任意...
2022-09-04 06:59:00 58
原创 整数和有理数
在之前对自然数的讨论中,我们已经得到了自然数系中的许多基本运算性质,但是这些性质只局限于加法和乘法运算。本章我们将引入这两个运算的逆运算,即减法和除法,并借此构建整数系 \(\mathbb Z\) 和有理数系 \(\mathbb Q\)。4.1 整数定义 4.1.1.1(整数):对于任意自然数 \(a\) 和 \(b\),都存在一个整数 \(a\ominus b\)(注意中间不是减号,这...
2022-08-24 16:49:00 76
原创 重头开始:自然数
如果要按照尽可能严格的方式进行,我们不得不从最基础的内容开始讲起:数的概念及性质。什么是数,以及为什么代数法则总是起作用?这是一个值得探讨的问题。即使有的性质和命题看起来是十分显然的,但是证明它可能并不容易。下面我们将要介绍自然数系 \(\mathbb N\)。毫无疑问,这是所有数系中最基本的。因为随后我们将会使用自然数来构造整数,整数又被用来构造有理数,有理数被用于构造实数,而实数又被用来构造...
2022-08-22 21:39:00 50
原创 集合论
我们现在介绍集合论中的一些概念和记号,他们通常广泛而频繁地被用到。几乎所有数学分支领域都将集合论作为其基础。因此在学习高级的数学领域之前,学习集合论中的一些基础概念是非常重要的。我们下面给出公理集合论中的部分(较为初等)的内容,可以证明,我们将要建立的集合公理体系是等价于ZF公理集合论的。3.1 基本事项首先,集合是一个不加定义的原始概念,这意味着我们不打算构造出集合这个概念,而是使用公理来...
2022-08-22 21:11:00 106
原创 另类数学分析 - 从lambda演算谈起
注:这篇文章主要是写给自己和lcw看的,可能会比较混乱和难以理解默认的概念:对象:数学上一切皆可以看做对象。朴素的相等关系(\(=\not=\)):一个对象始终等于其本身,不等于其他任何一个对象。定义:定义是给满足某种条件的一类对象起名字。标识符:又叫做名称或者代数,指代对象所使用的名字。表达式:又叫做算式,一个由若干个对象有序排列所构成的整体。逻辑量词:任...
2022-08-19 21:05:00 47
原创 我重新设计了我的头像
原来的头像大小只有 100x100,清晰度较低,采用的像素化设计与画面意境不符合:在较大的位置查看时,则更加不清晰:为此,我重新设计和绘制了这张图片:这个新头像总体上看优化了清晰程度,大小变为 400x400。在绘制边缘时我使用了更多的白色以突出中间的蓝色,这使得中间部分的蓝色天空显得更加饱满,海鸥的形象更加突出。比起原版头像,背景色的渐变色选取更加柔和、更加连贯、更加自然,边缘处理...
2022-07-20 22:04:00 30
原创 一类恒等式的应用(范德蒙德卷积与超几何函数)
你可以在这里找到一个PDF版本翻到了2年前的一篇日报,一类恒等式的应用 -- foreverlastnig 的博客 ,里面指出了一个恒等式的应用:\[\sum_{k=0}^n\binom{r}{k}\binom{s}{n-k}=\binom{r+s}{n}\]这个恒等式就是大名鼎鼎的范德蒙德卷积,它最早是由中国人朱世杰于1303年发现的,法国人范德蒙德在18世纪重新发现了它。本文尝试从超...
2022-07-05 11:43:00 278
原创 整值函数的一个问题
问题描述令 \(a=2+\sqrt{3}\), 有 \(n\in \mathbb{N}^{+}\), 求证明或推翻\[4\lfloor an\rfloor=n+\lfloor a\lfloor an\rfloor\rfloor\]我的想法我感觉这个是对的。展开:(定义 \(\{x\}=x-\lfloor x\rfloor\))\(4an-4\{an\}=n+a\lfloor an\r...
2022-04-12 12:18:00 18
原创 算术入门1-实数
前言:广州疫情最近有点严重,回不去学校了。在家连不上系统,于是梳理一下学过的数学内容。大概有20章,尽量做到每天更新弃坑了。格式约定:这是正文。这是引用,导言或注释斜体只是调侃,没有实际意义数从远古时代人们就发明了“数”的概念,主要用于计数。什么是“数”?为什么 \(1+1=2\)?这是如何定义出来的?简单来说,数是一种算术对象。确定的运算的对象构成的集合称为数集,数...
2022-04-12 10:50:00 85
原创 题解 [NOI2014] 动物园
luogu题目大意对于字符串 \(S\) 的前 \(i\) 个字符构成的子串,既是它的后缀同时又是它的前缀,并且该后缀与该前缀不重叠,将这种字符串的数量记作 num[i]。例如 \(S\) 为 aaaaa,则num[4]=2 num[4] = 2 num[4]=2。这是因为 \(S\) 的前 \(4\) 个字符为 aaaa,其中 a 和 aa 都满足性质‘既是后缀又是前缀’,同时保证这个后缀...
2021-11-19 11:26:00 84
原创 线性代数1 行列式
二阶行列式所谓二阶行列式,是由四个数,如 \(a_{11}\),\(a_{12}\),\(a_{21}\),\(a_{22}\) 排列成含有两行两列形如 \(\left|\begin{array}{c} a_{11} & a_{12} \\a_{21} & a_{22}\end{array}\right|\) 的式子,它表示一个数值,其展开式为\[\left|\begi...
2021-06-06 01:03:00 129
原创 End Poem
I see the player you mean.我看到你所指的那位玩家了。[Playername]?[玩家名称]?Yes. Take care. It has reached a higher level now. It can read our thoughts.是的。小心。它已达到了更高的境界。它能够阅读我们的思想。That doesn't matter. It think...
2020-10-06 16:43:00 19
原创 linux下的errno对照表
errno: 0 Successerrno: 1 Operation not permittederrno: 2 No such file or directoryerrno: 3 No such processerrno: 4 Interrupted system callerrno: 5 Input...
2020-09-23 12:47:00 32
原创 C++中的三个特殊宏:__FILE__,__FUNCTION__和__LINE__
__FILE__宏__FILE__宏用于检查当前文件名,例如:#include <cstdio>using namespace std;int main() { printf("%s\n", __FILE__); return 0;}假如这段代码保存为a.cc,就会输出a.cc。这在大项目多文件时调试时很有用。__FUNCTION__宏__FUNCT...
2020-08-27 18:10:00 24
原创 算法——从斐波那契数列谈起(一)
问题的开始现在有一个数列 \(\mathcal{f} _x\)满足\[\mathcal{f} _x=\begin{cases}1 & x=\{0, 1\} \\\mathcal{f} _{x-1}+\mathcal{f} _{x-2} & otherwise\end{cases}\]通俗来讲,这个数列就是当前项等于之前两项之和。求\(\mathcal{f}_...
2020-08-16 22:17:00 22
原创 [题解][HNOI2002][Luogu P2234] 营业额统计
题目描述[HNOI2002][Luogu P2234] 营业额统计题目大意给定 \(n\) 个整数,求每个数和它之前的数的差的绝对值的最小值之和。题解暴力是 \(\mathcal{O}(n^2)\) ,本来能卡过的,结果被洛谷改小了时限。想到对于每个数要快速找到离它最近的数,而平衡树的前驱后继正好满足要求。可以用vector当平衡树(multiset也行)code785B, ...
2020-08-16 11:42:00 23
原创 用STL水平衡树的题
vector预备动作#include <vector>#include <algorithm>using namespace std;vector<int> tree;插入数 \(x\)tree.insert(lower_bound(tree.begin(), tree.end(), x), x);删除数 \(x\) (若有多个相同的数,只删...
2020-08-16 09:53:00 24
原创 浅谈C++的智能指针
C++11STL中新增了智能指针,可以有效的防止内存泄露的问题,以下代码除特殊说明均在C++11下编译。头文件#include <memory>shared_ptr 共享指针共享指针可以方便的在不同函数中传递,并且在所有指针实例被销毁时自动释放空间。shared_ptr通过引用计数来管理引用状态,每次有新的引用时计数加1,有引用销毁是计数减1,直到计数为0时自动释放内存空...
2020-08-15 11:08:00 19
原创 cnblog代码高亮优化(tomorrow主题)
把下面代码粘贴入个性化CSS.cnblogs-markdown .hljs { border: none !important; background-color: #F8F8F8 !important;}.hljs-keyword { color: #8959A8 !important;}.hljs-meta { color: #8959A8 !import...
2020-08-14 22:08:00 26
PuTTy ssh远程连接工具
2020-01-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人