- 博客(24)
- 收藏
- 关注
原创 线段树区间修改模板(lazy标记)
以cf1872e为例:传送门:Problem - 1872E - Codeforces题意:你被给定一个整数数组 ,以及一个长度为 的二进制字符串 。Augustin 是一个数据结构的忠实粉丝。因此,他要求你实现一个数据结构来回答 个查询。查询有两种类型:请帮助 Augustin 回答所有的查询!数据保证所有测试用例的 之和不超过 10⁵,所有测试用例的 之和也不超过 10⁵。对于每个测试用例,以及其中每个类型 2 的查询,输出一行,包含对应的查询结果。题解:1.仔细观察,我们会发现,区间进行修改都
2025-09-21 02:17:23
305
原创 中国剩余定理(crt)&&拓展中国剩余定理(excrt)
下面的模板是直接用的excrt,个人觉得用这个更好更方便(大佬轻点喷)互素,那么如果不互素呢,这时候就得用拓展中国剩余定理。普通的中国剩余定理要求所有的。例题,洛谷p1495。
2025-09-01 10:32:46
158
原创 裴蜀定理(又称贝祖定理)
摘要:本文介绍了裴蜀定理及其证明过程,指出对于任意整数a,b,存在整数x,y使得ax+by=gcd(a,b)。证明通过构造最小正整数解完成,并推广到多元情形。文章还讨论了欧几里得算法中负数的处理,强调取绝对值不影响解的存在性,最后给出洛谷P4549的题解,通过求所有数绝对值的gcd来求解问题。
2025-08-12 10:39:56
407
原创 威尔逊定理
本文证明了威尔逊定理的充分性和必要性。充分性部分证明当p不是质数时,(p-1)!≡0(mod p):对于p=1和4的情况直接验证;当p>4时,分完全平方数和非完全平方数两种情况,分别证明(p-1)!包含p的因子。必要性部分证明当p是质数时,(p-1)!≡-1(mod p):利用简化剩余系的性质,将1到p-1的数配对相乘,最终得到结论。证明过程中使用了模运算和数论基本概念,并以p=7为例进行了具体说明。
2025-08-10 15:47:33
237
原创 高精度快速幂
形如 2P−1 的素数称为麦森数,这时 P 一定也是个素数。但反过来不一定,即如果 P 是个素数,2P−1 不一定也是素数。第 2∼11 行:十进制高精度数 2P−1 的最后 500 位数字。任务:输入 P(1000<P<3100000),计算 2P−1 的位数和最后 500 位数字(用十进制高精度数表示)判位数,我们可以转换,ans=(int)(p*log10(2))+1;位数=⌊log10(2p)⌋+1=⌊p⋅log10(2)⌋+1。第一行:十进制高精度数 2P−1 的位数。
2025-06-29 09:51:34
461
原创 2022睿抗省赛
哲哲最近在玩一个游戏,击杀怪物能获得金币 —— 这里记击杀第 i 个怪物获得的金币数量为 Pi。然而这个游戏允许拥有的金币数量是有上限的,当超过时,超过上限的部分就会被系统光明正大地吃掉,哲哲就拿不到了。为了不浪费金币,哲哲决定,当下一个要击杀的怪物可获得的金币会导致自己拥有的金币数量超过上限时,就去消费一次,把自己已有的金币全部用完。现在给定哲哲将要击杀的一系列怪物对应的金币数量,请你计算一下哲哲去消费了几次。
2025-06-28 15:20:07
852
原创 A. Bits 位掩码
题目描述我们用 s(x) 表示非负整数 x 的二进制表示中 1 的个数(即 "置位" 的数量)。给定多个查询,每个查询包含一对整数 l 和 r。对于每个查询,需要找到满足 l≤x≤r 的整数 x,使得 s(x) 最大。若存在多个这样的数,选择其中最小的那个。输入格式输出格式对于每个查询,输出满足条件的整数 x,每个结果占一行。
2025-06-27 00:06:17
303
原创 CSES2题单小记
ana1,a2,…,an:每个申请人梦寐以求的公寓面积。如果一个申请人的理想面积是xx,那么只要公寓面积在x−kx−k到x+kx+k之间,他们都会点头同意。,tmt1,t2,…每个申请人都有自己心仪的公寓面积,不过他们也不挑食——只要实际面积和理想面积相差不大,他们都会欣然接受。给定一个包含 nn 个整数的数组,你的任务是找到两个不同位置上的数,使它们的和等于 xx。,bmb1,b2,…,bm:每间公寓的实际面积。
2025-06-26 14:53:05
1086
原创 搜索(利用队列的0/1搜索)
题目:给定一个正整数 n,编写一个程序来找出 n 的非零倍数 m,其十进制表示形式仅包含数字 0 和 1。您可以假设 n 不大于 200,并且相应的 m 包含不超过 100 个十进制数字。
2025-06-22 14:19:30
239
原创 codeforces round 1031(div2)补题记
当炸药在坐标为 (x,y) 的空单元格爆炸时,所有位于边长为 2k+1 的正方形内的格子都会变成空的。屋顶是一个尺寸为 w×h 的矩形,其左下角在平面上的点 (0,0) 处。你是一家受欢迎的沙什利克餐厅的老板,烤架是你厨房的核心。团队中的一位新手已经在屋顶上放置了两块这样的屋顶板,这两块板不重叠,且每块都部分覆盖了屋顶。运用二维前缀和,正难则反,计算被炸毁的最小黄金数量,然后总的黄金数量减去其即可。思路:贪心即可,先烹饪温度减小更小的,然后再烹饪更大的。注意:烤架的温度可以为负数。初始时,烤架的温度为。
2025-06-21 11:20:35
495
原创 幸运数字Ⅱ(双向队列搜索)
定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(l) + next(l + 1) + ... + next(r - 1) + next(r)。题解:因为数据个数并不多,所以直接开一个双端队列,每次取前面的数,然后进行组合判断当前的进行比较,加起来。两个整数l和r (1 <= l <= r <= 1000,000,000)。比如说,47、744、4都是幸运数字而5、17、467都不是。定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。
2025-06-20 12:08:50
215
原创 [USACO 2008 Jan G]Cell Phone Network(树形dp,最小覆盖集)
然而,这需要他在他的 N(1 ≤ N ≤ 10,000)个牧场(方便地编号为 1 到 N)上设置手机信号塔,以便它们能够相互通信。状态3:靠子节点进行覆盖,只需要一个子节点有就可以覆盖,但是需要找一下最小的代价,ned=min(ded,dp[u][1]-dp[u][2]),如果没有对应的小于自身的子节点,那么应该等于它的父节点。* 第 2 行至第 N 行:每行分别指定一对相邻的牧场,其中包含两个用空格分隔的整数:A 和 B。* 第 1 行:一个整数,表示需要安装的最小塔的数量* 第 1 行:一个整数:N。
2025-06-11 17:10:13
205
原创 C. Racing(构造,思维)
dn 表示,其中 hi−hi−₁=di,且 0≤di≤1。这意味着无人机在两个障碍物之间要么高度不变(di=0),要么上升 1(di=1)。若无法实现,输出−1。设无人机在第 i 个障碍物处的高度为 hi,则无人机通过该障碍物的条件是 li ≤ hi ≤ ri。,dn(−1≤di≤1)—— 数组 d 的元素,其中 di=−1 表示未知。接下来 n 行,每行输入两个整数 li,ri(0≤li≤ri≤n)—— 各障碍物的参数。每个测试用例的第一行输入整数 n(1≤n≤2×10⁵)—— 数组 d 的长度。
2025-06-09 22:33:27
239
原创 迷宫(bfs)
我们要从迷宫的起点 'S' 走到终点 'E',每一步我们只能选择上下左右四个方向中的一个前进一格。最后 '.' 则是代表空无一物的地方,欢迎自在的游荡。bfs,因为需要知道是否获取到钥匙,所以可以直接用一个三维vis[i][j][2],vis[i][j][0]即代表还没有钥匙的时候,vis[i][j][1]则代表拿到了钥匙,然后进行寻找到即可。接下来的H行代表迷宫,每行有一个长度恰为W的字串,此字串只包含`'S'`, `'E'`, `'W'`, `'D '`, `'K'`, `'.'`这几种字元。
2025-06-09 20:08:56
157
原创 [JSOI2010]缓存交换(优先队列)
接着,CPU访问编号为21的主存单元,那么只需将该主存单元移入Cache中,造成一次缺失(Cache Miss)。接着,CPU访问编号为31的主存单元,则必须从Cache中换出一块,才能将编号为31的主存单元移入Cache,假设我们移出了编号为10的主存单元。我们看到,如果在上一次删除时,删除其他的单元,则可以避免本次访问的缺失。对于一个固定容量的空Cache和连续的若干主存访问请求,聪聪想知道如何在每次Cache缺失时换出正确的主存单元,以达到最少的Cache缺失次数。
2025-06-08 23:21:46
169
原创 tokitsukaze and Soldier(优先队列)
但是这些士兵有特殊的要求:如果选了第i个士兵,这个士兵希望团的人数不超过s[i]。(如果不选第i个士兵,就没有这个限制。第一行包含一个正整数n(1≤n≤10^5)。接下来n行,每行包括2个正整数v,s(1≤v≤10^9,1≤s≤n)。在一个游戏中,tokitsukaze需要在n个士兵中选出一些士兵组成一个团去打副本。对人数进行降序排序,然后对各个人数限制的进行处理,找到最大值即可。第i个士兵的战力为v[i],团的战力是团内所有士兵的战力之和。输出一个正整数,表示团的最大战力。
2025-06-08 00:10:16
210
原创 A. Ice Skating(并查集)
他是初学者,所以他唯一的交通方式是从雪堆向北、东、南或西推开,然后滑行,直到他落在另一个雪堆中。他现在想堆积一些额外的雪堆,这样他就可以从任何雪堆到达任何其他雪堆。一开始,因为题里面说,可以直线走,就相当于象棋的车一样,所以想着直接用mp进行标记,如果同一行都没有出现过就ans++,就wa了12;然后想了一下,好像不行,因为起点是未知的,所以应该用并查集进行联通,找联通块的个数,然后-1就是ans。输出需要创建的最小雪堆数量,以便 Bajtek 能够从任何其他雪堆到达任何雪堆。所有雪堆的位置都是不同的。
2025-06-07 20:51:37
268
1
原创 钉子和小球(线性dp)
每颗钉子和周围的钉子的距离都等于d,每个格子的宽度也都等于d,且除了最左端和最右端的格子外每个格子都正对着最下面一排钉子的间隙。以下n行依次为木板上从上至下n行钉子的信息,每行中‘*’表示钉子还在,‘.’表示钉子被拔去,注意在这n行中空格符可能出现在任何位置。让一个直径略小于d的小球中心正对着最上面的钉子在板上自由滚落,小球每碰到一个钉子都可能落向左边或右边(概率各1/2),且球的中心还会正对着下一颗将要碰上的钉子。若一个点的钉子被拔了,那么球就到不了下一行的钉子,会直接到i+2行,否则会到下一行的左右。
2025-06-07 18:17:40
370
原创 花店橱窗(线性dp)
(看过大佬的代码做的)题意:小q和他的老婆小z最近开了一家花店,他们准备把店里最好看的花都摆在橱窗里。但是他们有很多花瓶,每个花瓶都具有各自的特点,因此,当各个花瓶中放入不同的花束时,会产生不同的美学效果。为了使橱窗里的花摆放的最合适,他们得想个办法安排每种花的摆放位置。可是因为小q和小z每天都太忙,没有时间设计橱窗里花的摆法,所以他们想让你帮他们求出花摆放的最大美观程度和每种花所放的位置。
2025-06-07 17:40:19
355
原创 可爱の星空(dp搜索)
题意“当你看向她时,有细碎星辰落入你的眼睛,真好。”——小可爱在一个繁星闪烁的夜晚,卿念和清宇一起躺在郊外的草地上,仰望星空。星语心愿,他们,想把这片星空的星星,连成一棵漂亮的树,将这美好的景色记录下来。现在,天上共有n颗星星,编号分别为1,2.....n,一开始任何两个点之间都没有边连接。之后,他们两个想在在(u,v)之间连无向边,需要付出|u联通块大小-v联通块大小|的代价。他们两个想用最少的代价来使这n个点联通,所以他们想知道最小代价是多少。
2025-06-06 23:43:27
420
原创 借教室(二分+差分)
共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(包括第sj天和第tj天),每天需要租借dj个教室。第 1 份订单满足后,4 天剩余的教室数分别为 0,3,2,3。第 2 份订单要求第 2 天到第 4 天每天提供 3 个教室,而第 3 天剩余的教室数为 2,因此无法满足。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。对于 100%的数据,有1 ≤ n,m ≤ 10^6,0 ≤ ri,dj≤ 10^9,1 ≤ sj≤ tj≤ n。
2025-06-05 19:37:46
292
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅