自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

原创 做题计划3

[ROI 2017] 学习轨迹 (Day 2)很牛的题,首先我们考虑暴力,枚举 AAA 或者 BBB 序列的一个区间,然后看另一序列中没有出现过选的区间中最大连续段的和。图例:解释:假设我们选了 AAA 中红色部分的点,然后绿线表示 AAA 中那些数在 BBB 中出现过,这个时候我们只能选每两个绿点之间的点(不能包括绿点)这样才能满足题意,这个东西可以通过一些预处理得到每个数 AAA 在 BBB 中出现的位置,然后每次一个区间,右移右端点的时候,把绿线原来所对应的区间劈开分成两半重编号可以实现,然后放到一

2025-04-27 07:49:17 574

原创 做题记录2

[ROI 2017] 学习轨迹 (Day 2)很牛的题,首先我们考虑暴力,枚举 AAA 或者 BBB 序列的一个区间,然后看另一序列中没有出现过选的区间中最大连续段的和。图例:解释:假设我们选了 AAA 中红色部分的点,然后绿线表示 AAA 中那些数在 BBB 中出现过,这个时候我们只能选每两个绿点之间的点(不能包括绿点)这样才能满足题意,这个东西可以通过一些预处理得到每个数 AAA 在 BBB 中出现的位置,然后每次一个区间,右移右端点的时候,把绿线原来所对应的区间劈开分成两半重编号可以实现,然后放到一

2025-04-27 07:47:05 721

原创 做题记录1

NOIP2024T1编辑字符串本题考察贪心。直接贪心就是对的,我们令段表示一段区间可以互相交换的位置所成的连续段,也就是那些连续为 的段,那么我们把 idiid_iidi​ 表示第一个序列的第 iii 个点所对应的段的编号, ideiide_iidei​ 表示第二个序列第 iii 个点所对应的段的编号,那么记录每个段还剩余多少个 和 然后能匹配就匹配,使得匹配数加一,否则就不能匹配。代码NOIP2024T2消失的赋值首先,我们发现直接计算合法的贡献是有点难的,正难则反,我们考虑不合法的然后用总的方案数

2025-04-27 07:46:26 846

原创 KTT入门

从小到大的顺序来建线段树,然后直接前缀加,全局查找最大值,即可。的那就最大值不会发生变化,否则把标记修改下传,势能分析得均摊。首先,求当前区间中函数值最大值直接将两个儿子最大值取个。的组合,因为这样才不会浪费,就是可以把等于贡献算进去。加一,这是个类似权值线段树就能干的东西,我们按照。这个东西最大,然后显然这个东西形如。然后修改的时候如果此时要加的值是。为第一关键字排序,这样我们钦定。的东西,我们令当前线段树区间。表示当前线段树节点下,如果讲。中函数值最大的线段是。的,线段树还维护一个。

2025-04-26 21:41:08 1085

原创 树状数组详解

树状数据结构,通常维护一些带有差分性质的区间问题,比如单点加,单点乘,查询区间和,前后缀最大值、最小值等。线段树得以快速修改和查询在于下传懒标记,而树状数组则是每次修改时,将标记上传,查询的时候不用像线段树一样每次 。区别之处在于标记传送的方式的不同。树状数组的图示:和线段树不同,我们定义一个点,其儿子的范围(就是存的哪一个区间的范围)是 [i−2k+1,i][i-2^k+1,i][i−2k+1,i] 其中 kkk 是 iii 二进制下从后往前第一个为 111 的位置,下标从0开始计算,我们称这个值为 l

2025-04-26 21:39:52 1123

原创 初始网络流(最小割)

都加上等量的流量,以令整个网络的流量增加,这一过程被称为增广(Augment)。的增加——这也与退流的意义相吻合——反向边剩余容量的增加意味着我们接下来可能通过走反向边来和原先正向的增广抵消,代表一种「反悔」的操作。上,平凡地,我们假设每次增广的流量都是整数,则 Ford–Fulkerson 增广的时间复杂度的一个上界是。将单轮 BFS 增广的复杂度与增广轮数的上界相乘,我们得到 Edmonds–Karp 算法的时间复杂度是。的绝对值是无关紧要的,我们可以将反向边流量的减少视为反向边剩余容量。

2025-04-26 21:38:45 666

原创 GESP4级2023/12游记

700。

2024-04-26 19:13:53 755

原创 GESP6级2024/3游记

Day1。

2024-04-26 19:12:49 671

原创 数据结构-栈超详解

O1。

2024-04-15 19:08:31 517

原创 链表超详解

链表链表。

2024-04-15 19:07:30 275

原创 数学基础-整除和不定方程超详解

首先考虑无整数解的情况,根据贝祖定理,对于。所以不用担心是不是整数的问题。的特解,但是因为贝祖定理得。所以,对于任意整数对。

2024-04-14 13:10:40 999

原创 数据结构-堆详解

图片:二叉堆的父节点为这个子树的最值。如何维护它。我们发现它是一棵二叉树,那就自然满足若父节点为 xxx 则左儿子节点为 x×2x\times2x×2 右儿子为 x×2+1x\times 2 + 1x×2+1 这是显然的,但如果写成指针或结构体就太麻烦了,所以考虑用数组来维护它。用一个数组 TTT 来存储这颗二叉树,根节点为 T1T_1T1​ 根据二叉树的性质对于每个子节点 xxx 则有:这样做由于二叉树只有 log⁡2n\log_2nlog2​n 层,自然单次复杂度为 O(log⁡2n)O(\log

2024-04-14 13:08:50 644 1

原创 ABC344E

当然也可以使用离散化来实现,具体的把所有的数来读入,排序后然后二分查找下标最后只会用。很大所有不能用数组,可以用。的大小的空间,复杂度也是。

2024-04-14 13:05:00 907

原创 进阶分块-分块二分详解

可以把每一个块内的元素排序,然后整块时直接二分答案,散块暴力处理,这样就能将时间复杂度降至。但这样是不容易过的,因此继续考虑优化它,不难想到,当整块时,块长越大,是基本不变的,但是可以减少块的数量,因此我们可以将块长设为。不难想到暴力,可以做到每次操作。每次询问给出三个整数。如果用分块该如何实现呢?这样做复杂度可以近似。

2024-04-14 13:02:06 971

原创 线段数:基础-进阶 原创超详解

树链剖分是一个常见的线段树与重链之间的组合的算法,他的思想是对于每一条链和一个子树,它在线段树上的标号总是连续的因此就可以用线段树的相关知识去实现快速的加减求和。每次维护一个区间的信息就会通过零块暴力,整块直接对这个块做标记,其实这个标记和线段树的懒标记是一样的道理。我们可以发现其实线段树就是将几个连续的小区间拼凑成一个个大区间的过程,从而实现查找时的优秀的复杂度。1.修改时如果是当前的区间完全覆盖线段树某一个节点所对应的区间,那么就将这个节点的。所对应的区间的每一个数的值统一加上。

2024-04-14 12:51:44 1723 1

原创 ABC346G

具体地,维护区间内最小值及其个数,查询时若区间最小值为。的矩形来计算重合的部分,(只不过是一维的)也可以用二维线段树的区间赋值,于是答案即为重合部分的面积,复杂度为。那么这个拓展的区间也是合法的区间。然后发现这个并集大小的维护实际上是要我们支持区间加 / 减查询区间非。都满足,同理右端点也一样,所以由乘法原理得所有满足的区间个数有。,则返回区间长度减去最小值个数,否则返回区间长度。扫一遍然后进行每个区间的特判即可,复杂度。应该满足的条件,显然,当有一个数。的出现次数有且仅出现一次。同理,往后的区间会是。

2024-04-14 12:49:08 532

原创 exgcd

但是这么做只能求出 $ax+by=\gcd(a,b)$ 的特解,并不能求出 $ax+by=c$ 的特解,但是因为贝祖定理得 $c=k\times\gcd(a,b),k\in Z$ 所以将两边同时乘 $c/\gcd(a,b)$ 因为 $c\mod\gcd(a,b)=0$ 所以 $c/\gcd(a,b)\in Z$。又因为 $x,y\in Z$ 所以 $x\times(c/\gcd(a,b))\in Z$ 同理 $y\times(c/\gcd(a,b))\in Z$。即:如果 $c\mod\gcd(a,b)!

2024-04-10 18:42:37 465

原创 数学基础1

但是这么做只能求出 $ax+by=\gcd(a,b)$ 的特解,并不能求出 $ax+by=c$ 的特解,但是因为贝祖定理得 $c=k\times\gcd(a,b),k\in Z$ 所以将两边同时乘 $c/\gcd(a,b)$ 因为 $c\mod\gcd(a,b)=0$ 所以 $c/\gcd(a,b)\in Z$。又因为 $x,y\in Z$ 所以 $x\times(c/\gcd(a,b))\in Z$ 同理 $y\times(c/\gcd(a,b))\in Z$。即 $B$ 是 $A$ 的倍数。

2024-04-10 18:37:59 479 2

原创 二叉树求lca暴力(非正解,纯属作者自己发现自己手打)

【代码】二叉树求lca暴力(非正解,纯属作者自己发现自己手打)

2023-08-05 11:45:33 168

原创 c++狼人杀游戏new2.0

c++狼人杀游戏

2023-07-07 20:10:32 220

原创 Atcoder 307 D

atcoder307Dc++简单栈加双向队列法

2023-06-27 20:41:22 196

原创 字符串转换位数字C++实现

1234(字符串string)

2023-05-09 20:58:49 143

原创 jintianshiwuyve 8hao

xinsifajs;l

2023-05-08 22:03:38 92

原创 俄罗斯转盘小游戏

俄罗斯转盘小游戏

2023-04-06 21:57:13 689

原创 c++P1001A+BProblem

洛谷P1001a+bproblem闲解

2023-03-31 19:28:31 153

原创 今天发一个洛谷P3372线段树1题解正解

今天发一个洛谷P3372线段树1题解正解二分做法

2023-03-31 19:14:56 162

原创 今天发一个洛谷P1908逆序对的题解(归并排序)

今天发一个洛谷P1908逆序对的题解(归并排序)

2023-03-31 19:10:11 124

原创 今天发一波关于高精度的文章(加法,减法,乘法,除法(高精度/单精度))

十分详细的各种高精度计算(加减乘除)

2023-03-26 21:45:09 96

原创 洛谷P1429平面最近点对(加强版)超简单做法最后附有完整代码

洛谷P1429 平面最近点对(加强版)超简单做法

2023-03-14 21:13:22 119

原创 洛谷P1226 【模板】快速幂||取余运算

洛谷P1226 【模板】快速幂||取余运算

2023-03-13 19:45:40 91

原创 洛谷P2033 Chessboard Dance

洛谷P2033 Chessboard Dance最详解

2023-03-11 20:05:42 112

原创 洛谷P2033 Chessboard Dance

洛谷蓝题P2033 Chessboard Dance好题最简最详细题解;(最后有完整代码;)

2023-03-11 20:01:23 142

原创 洛谷P2241 统计方形(数据加强版)

直接上代码:ll n,m;cin>>n>>m;a++){return 0;

2023-03-09 20:40:09 116

原创 洛谷P2015 二叉苹果树

洛谷P2015 二叉苹果树

2023-03-09 20:39:36 112

原创 洛谷P2014 [CTSC1997] 选课

洛谷P2014 [CTSC1997] 选课

2023-03-09 20:34:56 136

原创 洛谷P1996 约瑟夫问题两种解法

约瑟夫问题几种解法,建议最后一种,谢谢欣赏;

2023-03-09 20:29:31 328

原创 c++超级小游戏——狼人杀

c++小游戏——狼人杀

2023-03-06 21:28:20 694

原创 狼人杀c++游戏超级棒

狼人杀超级棒的c++小游戏;

2023-03-06 21:27:22 184

原创 c++小游戏之狼人杀

c++超级小游戏狼人杀好玩

2023-03-06 21:27:12 1193

原创 c++贪吃蛇VS假贪吃蛇游戏

贪吃蛇VS假贪吃蛇

2023-02-28 18:48:55 164 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除