- 博客(46)
- 资源 (2)
- 收藏
- 关注
原创 凸包及其算法
一个能够将所有给定点围住的。:在当前组成凸包的点集V0中新增一个不在凸包上的点,形成新点集V1,若可以使V1中所有点都在V1的点的凸包上,则这个凸包不稳定。反之,则是稳定凸包。
2023-02-15 18:49:45 449
原创 DP优化 - 斜率优化
若满足单调性,则可以用单调队列解决,之后假设。开始,不断上移,直到碰到第一个碰到的点。所以说,原方程相当于求过所有满足。,我们每次判断单调队列中前两个点。的情况,因为另一个与这个相似。单调队列储存了凸包上的一些节点。求出切点后,我们对应可以求出。这个问题可以使用凸包解决。组成线段的斜率是否小于。假设当前的 DP 方程为。我们可以用平衡树,二分,然后求出凸包上斜率为。维护一个动态凸包即可。
2023-02-10 22:09:36 465
原创 线段树 - 从入门到入土
我们要学习线段树,首先要了解线段树的结构长什么样。线段树是一颗二叉树,树上的节点储存数据(可以是值、字符串、数组、多个值)。
2023-01-04 15:34:57 366
原创 莫队 - 基础与扩展
莫队可以说是一个算法,但更多是一种思想。我们先来看看普通莫队解决的问题:有一个长度为n的数列a。qa在[li,ri]中有多少个不同的数。不强制在线。1≤n,q≤5×105遇到这种区间问题,第一个想法是前缀和,但很快会发现不可行。于是你搬出了树状数组,切了这道题(于是考虑其他做法。如果目前知道了[l,r]这个区间内的答案,你可以在O(1)时间内求出[l−1,r],[l+1,r],[l,r−。
2022-12-30 23:58:42 762
原创 【高中选修二】数列
若存在{xn}\{x_n\}{xn},使得∀n>1,xn=xn−1+d∀n>1,xn=xn−1+d。那么我们称{xn}\{x_n\}{xn}为等差数列,其中ddd为公差。若存在{xn}\{x_n\}{xn},使得∀n>1,xn=qxn−1∀n>1,xn=qxn−1。那么我们称{xn}\{x_n\}{xn。...
2022-08-27 00:32:06 930
原创 【高中必修二】几何体
有两个互相平行且全等的面,对应点相连形成的图形称作,两个全等的面称作这个棱柱的。棱柱的底是N边形,则称这个棱柱为N棱柱,侧棱垂直于底面的称,不垂直于底面的称。V=S底⋅hS=2S底+C底⋅h平行六面体:底面和侧面都是平行四边形。直平行六面体:侧棱垂直于底面的平行六面体。长方体:底面是矩形的直平行六面体。12条棱相等的长方体。用两个底上的点表示:棱柱ABCDE−A1B1C1D1E1。...............
2022-08-23 19:31:30 209
原创 【高中必修二】平面向量
有方向,有的大小的量称为向量,没方向只有的大小的量称为数量。线段AB,我们对其两端规定顺序,则AB就成了有向线段。我们就可以用AB来表示一个向量(但有向线段并不是向量)模为0的向量则称为0向量,记做0,0不是没有方向,是可以任意方向。长度为一个单位的向量被称为单位向量。长度和方向都相同的向量才能叫相等向量,记做AB=CD。............
2022-08-19 20:22:44 1213
原创 【高中必修一】三角函数
角为一条射线绕着端点旋转一定角度所得的图形。起始位置称为始边,结束位置称为终边。其端点称为顶点。转动角度可以为负数,也可以大于360°,一般来说,负角以顺时针方向旋转,正角以逆时针方向旋转。如果没有旋转,则称为零角、为了方便讨论,在平面直角坐标系中,我们固定角的始边为x轴非负半轴。终边落在第几象限,则称此角为第几象限角,若落在坐标轴上,则称为轴线角。..............................
2022-08-15 18:15:19 1493 6
原创 【高中必修一】逻辑
表示,它的意思是“存在”。同理,含有存在量词的命题叫做。表示,它的意思是“所有的”。含有全称量词的命题叫做。全称量词命题的否定形式为:“存在一个。存在量词命题的否定形式为:“所有。定义:用语言、符号或式子表达的,"和其逆命题都为真命题,则有。为条件,我们就可以说“若。.........
2022-08-03 15:33:50 135 2
原创 【高中必修一】函数初步
有两个集合 A,BA, BA,B,对于 AAA 中每一个元素,按照对应法则 fff,都能从 BBB 中找到唯一的元素与之对应,则称 fff 是 AAA 到 BBB 的一个映射。记为:f:A→Bf:A\to Bf:A→B单射:不存在 AAA 中不同元素对应到 BBB 中同一元素。满射:不存在 BBB 中一个元素没有 AAA 中元素对应。双射(一一映射):同时满足单射和双射。复合映射: f:A→B, g:B→C, g∘f:A→Cf: A\to B,~g:B\to C,~g \circ f: A\to Cf:A
2022-07-10 14:02:45 310
原创 【高中必修一】集合
定义:一些确定(客观)对象组成的整体常见集合:∅\varnothing∅ 空集 N\mathbb{N}N 自然数集 Z\mathbb{Z}Z 整数集 Q\mathbb{Q}Q 有理数集 R\mathbb{R}R 实数集 C\mathbb{C}C 复数集Z+\mathbb{Z}^+Z+ 正整数集 Z−\mathbb{Z}^-Z− 负整数集集合性质:集合表示方法:集合运算:a∈Aa\in Aa∈A:aaa 属于AAA,元素 aaa 在集合 AAA 中。a∉Aa\not\in Aa∈A:aaa 不属于A
2022-07-10 12:02:18 252
原创 Link-Cut-Tree 树上操作
LCT\tt LCTLCT,即 Link\texttt{Link}Link-Cut\texttt{Cut}Cut-Tree\texttt{Tree}Tree,是一种维护森林的数据结构。比树链剖分支持更多操作,比如说树上翻转权值。前置知识Splay\tt SplaySplay 和其文艺平衡树用法算法用途维护森林,以更大的常数和复杂度支持更多的操作。算法复杂度时间O(nlogn+mlogn)O(n \log n + m \log n)O(nlogn+mlogn)空间O(n)O(n)O(n
2022-04-05 00:43:42 185
原创 斐波那契堆
斐波那契堆有两种用途。第一种,斐波那契堆支持一系列操作,这些操作构成了“可合并堆”。第二种,斐波那契堆的一些操作可以在常数时间(摊还)内完成,使得这些数据结构非常适合用于频繁调用这些操作。可合并堆可以实现以下操作:MAKE-HEAP()\text {MAKE-HEAP}()MAKE-HEAP():创建一个新的可合并堆,堆中不含任何元素。INSERT(H,x)\text {INSERT}(H, x)INSERT(H,x):在可合并堆 HHH 中插入 xxx。MININUM(H)\text{MININ
2022-03-06 11:03:37 1627
原创 网络流及其算法
网络流源点流量为 inf\infinf 的一个点,网络流起点,一般用 sss 表示。汇点接收流量的一个点,网络流终点。弧一条有向边。弧的流量实际通过这条弧的流量。弧的容量指的是一条弧的最大流量。网络流所有弧上流量的集合。增广路径从源点 sss 到汇点 ttt 的一条可以有流量的路径。可行弧也成允许弧,当 (i,j)(i, j)(i,j) 为一个可行弧时,di=dj+1d_i=d_j+1di=dj+1,ddd 为当前点 bfsbfsbfs 时的深度可行流一张图能够达成
2022-02-08 11:38:55 1747
原创 二分图及其算法
二分图参见度娘:二分图又称作二部图,是图论中的一种特殊模型。设 G=(V,E)G= (V,E)G=(V,E) 是一个无向图,如果顶点 VVV 可分割为两个互不相交的子集 (A,B)(A,B)(A,B),并且图中的每条边 (i,j)(i,j)(i,j) 所关联的两个顶点 iii 和 jjj 分别属于这两个不同的顶点集 (i∈A,j∈B)(i \in A, j \in B)(i∈A,j∈B),则称图 GGG 为一个二分图。说白了就是:匹配二分图 G=(V,E)G= (V,E)G=(V,E) 中,
2022-02-06 22:11:13 1440
原创 加性函数以及积性函数
定义加性函数(数论中的定义):当 fff 为加性函数的时候,对于每对互质的 x,yx,yx,y,都有 f(x)+f(y)=f(xy)f(x) + f(y) = f(xy)f(x)+f(y)=f(xy)。如果对于任意 x,yx,yx,y,f(x)+f(y)=f(xy)f(x) + f(y) = f(xy)f(x)+f(y)=f(xy),则称 fff 为完全加性函数。积性函数:当 fff 为积性函数的时候,对于每对互质的 x,yx,yx,y,都有 f(x)f(y)=f(xy)f(x)f(y) = f(
2022-01-26 21:58:21 1428
原创 点分治 - 处理树上问题的工具
点分治主要是用来处理树上路径问题的工具。前置知识树的重心问题计算树上所有路径的长度和(用点分治来算)。算法实现我们在树上选定一个点 uuu(然后把 uuu 当成根),可以将树上任意两点间的路径分为两种经过 uuu 的,也就是两个点分别在 uuu 的不同子树上。没有经过 uuu 的,也就是两个点在 uuu 的同一个子树内。这个时候,我们就可以分类计算。经过 uuu 的我们设这条经过 uuu 的路径两端分别是为 xxx 和 yyy。那么我们就是要计算 uuu 到 xxx 的距离再加上
2022-01-25 08:42:10 117
原创 文件储存器 - IP通讯技术
又是 IP 通讯…实现了一个可以上传下载文件的东西主要思路上传:从客户端上传文件到服务器,保存在文件夹里。下载:从服务器下载文件到客户端,保存到桌面。成品FileSaver.zip
2022-01-23 20:52:59 1839
原创 乘法逆元及其求法
艹,漏写了一个很重要的知识点很多时候,在做题的时候可能需要给分数取模比如说在计算 C(mn) 的时候,C(nm)=m!n!(m−n)!,我们不可能将 m! 在不取模的时候算出,除以 n!(m−n)! 后再取模。这样会爆 long long。所以,我们需要一个给分数取模的方法。...
2022-01-23 16:19:30 606
原创 分块 - 暴力的算法
顾名思义,分块,就是分成块的意思前置知识暴力算法用途跟线段树一样,也是一个维护数组的工具分块时间复杂度虽然没有线段树那么优,但是功能和码量都更胜一筹。算法复杂度时间修改和查询都在 O(n)\tt O(\sqrt{n})O(n)空间O(n)\tt O(n)O(n)算法实现将数组分成多块,每块维护他的和。(每块包含的元素个数肯定要相同了)这时候你可能会问了,如果数组分成多块后还剩下几个元素怎么办。我们强行加入最后分的那块里:查询每次区间查询,查询的区间会包括一些小块,和左右两
2022-01-16 15:09:03 197 3
原创 某手势小游戏-人工智能
我们班有许多人玩这个游戏的,于是我和 xhj 就开始研究这东西的较优策略。规则这个游戏有一个变量 气。玩家出招需要用到气,当气不够的时候直接死亡。谁先杀死对方取胜。攒气 耗气 -1单枪 耗气 1 克(1)双枪 耗气 2 克(1,2,4)防御 耗气 0反弹 耗气 1 克(2,3)以这个规则来看,第一招肯定是攒气。算法1首先,我们想到了运用字符串匹配算法,预测对手出招,并以此来选择招数对付。我们可以把对手所有局出的所有招数合成一个字符串 save。[1, 4, 2, 1,
2021-12-10 19:52:30 3130 2
原创 Problem A: Clock Sequence
一看数据范围,…疯了。我们先想想能不能找规律?好很好,找到了…我们发现可以把这个序列 151515 个分为一组,因为他们前面 666 位的循环节个数一样然后我们又发现这 151515 个一组的序列连末尾都一样!这不就很明显了我们把要求的前 nnn 个数的和分为两段,一段是多组组成的。一段是余下来的数。然后,对于余下来的数,我们直接打标搞定。先设 aaa 数组代表在 151515 个一组的数中的循环节的前缀和,bbb 数组代表每个 151515 个一组的数中末尾不在循环节的数的前缀和如下:
2021-12-04 16:50:06 801
原创 扩展BSGS算法
普通 BSGSBSGSBSGS 有一个缺点,就是当 gcd(n,p)≠1\gcd(n,p) \not = 1gcd(n,p)=1 时,他不能用。于是就出现了扩展 BSGSBSGSBSGS。前置知识普通 BSGSBSGSBSGS。扩展欧拉定理算法用途用于求解 gcd(n,p)≠1\gcd(n,p) \not=1gcd(n,p)=1 时,nx≡m(modp)n^x \equiv m \pmod pnx≡m(modp) 的方程(除了 xxx 都是常数)算法复杂度时间?空间?
2021-12-02 13:49:23 274
原创 Baby-Step-Giant-Step算法
Baby\bf BabyBaby-Step\bf StepStep-Giant\bf GiantGiant-Step\bf StepStep,简称 BSGS\bf BSGSBSGS 或 拔山盖世我们这竟然有人管他叫 BIG\bf BIGBIG-Step\bf StepStep-Giant\bf GiantGiant-Step\bf StepStep,大步超大步???前置知识取模运算 amod ba\mod bamodb。次方运算 axa^xax算法用途普通的 BSGSBSGSBSGS 算法用于
2021-12-02 13:41:21 192
原创 NOIP2021游记
NOIP前刚刚考完CSP,感觉考炸了。老师本来打算给我们休息几个周五的,结果才休息一个,老师就帮我们报名成功NOIP了。然后…然后就没得休息了。不过给了个翻盘机会挺好。几场NOIP模拟赛打的都还好,竟然有一次206分初一第一。不过几场难度升高的我一题都没做出来(虽然整个初一初二都没有AC的)NOIP前夕感觉不怎么紧张,但是其他同学都比较紧张(有个人还晚上睡不着觉),所以以为自己疯了。没怎么复习知识点,就是看了一下网络流。感觉自己对网络流的理解又深了…NOIP...
2021-11-19 12:40:26 393
原创 chatroom - 手写聊天室【winsocket + pipe】
前言原来在寒假写了一次。直接炸了,一个人没事,但是一旦一群人上线,会被卡没掉。很奇怪。于是,我重新写了一遍,用的是pipe和IP通讯pipe用于输入程序(input.exe)和显示程序(client.exe)联系,然后IP通讯用于客户端(client.exe)和服务器(server.exe)连接用法在机房内选一台电脑做服务器(当然这台电脑也可以同时用客户端)把server.exe放运行在这台电脑上,然后记住这台电脑的IP地址在自己电脑上运行client.exe和input.exe接下来就
2021-11-17 18:54:44 1622 3
原创 2021CSP游记
CSP-S初赛和同学相遇,在考场广场前面那个名单栏里面找人把整个信息队人都找了个遍,甚至找了hf、ss、ty、lz的。竟然没看到yms???进考场。我和 qyb sjw 一个考场又发罚坐了好久…总算开始了。前面选择题好水啊!!!但是还是花了我1个小时,草。开始做代码。第一份代码就用了30分钟,一开始我还不会做,看到后面瞬间被下面这题点醒。以上代码的作用是什么?A.求球的体积并 B.求圆的体积交C.求球的体积交 D.直接反应过来了,求的是球体积交然后瞬间搞定 r=π/3r = \
2021-11-12 20:51:00 773 4
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人