- 博客(1204)
- 资源 (19)
- 收藏
- 关注
原创 洛谷 P2367:语文成绩 ← “一维差分”模板题
对原数组 a 的区间 [le, ri] 中每个元素 +x 等价于对其差分数组 d 的区间端点执行 d[le]+=x,d[ri+1]-=x。
2025-02-14 01:30:00
500
原创 若输入超过 5 位数个时,推荐使用 scanf 输入数据。
在 C++ 中,当需要处理超过 5 位数个输入时,推荐使用 scanf 而不是 cin 输入数据。这是因为 scanf 通常比 cin 更快。
2025-02-14 00:15:00
143
1
原创 求证:对原数组 a 的区间 [le, ri] 中每个元素 +x 等价于对其差分数组 d 的区间端点执行 d[le]+=x,d[ri+1]-=x。
对原数组 a 的区间 [le, ri] 中每个元素 +x 等价于对其差分数组 d 的区间端点执行 d[le]+=x,d[ri+1]-=x。
2025-02-13 17:40:57
590
原创 求证:一维差分是一维前缀和的逆运算
设 a[] 是原数组,d[] 是其对应的一维差分数组。因为,d[1]=a[1],d[i]=a[i]-a[i-1],i≥2。即 d[] 是 a[] 的一维差分。又因为,d[i]+…+d[2]+d[1]=a[i]-a[i-1]+…+a[2]-a[1]+a[1]=a[i]。 即 a[] 是 d[] 的一维前缀和。综上,得证。
2025-02-13 12:24:55
87
原创 AcWing 5166:对称山脉 ← 动态规划
本题 N 最大 5000,最多 2500 对儿,每对儿的最大差值为 10^5,故山脉的不对称值最大为 2500×10^5=2.5×10^8,没有达到 10^9,所以不会爆 int。
2025-02-12 23:22:39
277
原创 LaTex 求和符号的上标和下标位于其正上和正下 ← \limits_ 以及 \limits^
LaTex 求和符号的上标和下标位于其正上和正下 ← \limits_ 以及 \limits^
2025-02-12 21:51:40
148
原创 洛谷 P5727:【深基5.例3】冰雹猜想 ← while循环
● 冰雹猜想最常用的别称是考拉兹猜想,也被称为奇偶归一猜想、角谷猜想、3n+1猜想、3x+1猜想等,是一个看似简单却难以证明的数学问题。● 考拉兹猜想最早由德国数学家洛塔尔·考拉兹(Lothar Collatz)在 1937 年提出。由于考拉兹猜想的简单性和可计算性,它被广泛用于测试计算机的效能。● 考拉兹猜想的定义非常简单:对于任意自然数 n,如果 n 是偶数,则将其除以 2;如果 n 是奇数,则将其乘以 3 再加 1。然后,对得到的新数重复这一步骤,最终会得到 1。
2025-02-11 05:00:00
184
原创 洛谷 P3805:【模板】manacher ← 最长回文串
Manacher算法,谐称马拉车算法,是用于在 O(n) 时间复杂度内找到字符串中最长回文子串的高效算法。
2025-02-10 17:47:46
1470
1
原创 STL set 的 lower_bound(x)、upper_bound(x) 等常用函数
STL set 中的元素自构“递增无重”。lower_bound(x) 返回一个迭代器,该迭代器指向第一个大于等于 x 的元素。upper_bound(x) 返回一个迭代器,该迭代器指向第一个大于 x 的元素。
2025-02-09 11:07:02
438
原创 洛谷 B2124:判断字符串是否为回文 ← 顺序栈
(1)不管字符串长度 len 是偶数还是奇数,字符串对称位置左半部分的下标均为 0 ~ len/2-1。(2)若字符串长度 len 为偶数,则字符串对称位置右半部分的下标为 len/2 ~ len-1。(3)若字符串长度 len 为奇数,则字符串对称位置右半部分的下标为 len/2+1 ~ len-1。
2025-02-08 22:15:55
501
原创 洛谷 B3612:求区间和 ← “一维前缀和”两种经典模板代码
一维前缀和非常简单,简单到一句话就能说清楚。即,一个长度为 n 的一维数组 a[1]~a[n],其一维前缀和 s[i]=a[1]+a[2]+...+a[i]。这么简单?需要专门学?需要,因为利用前缀和可以提高计算效率,不学就想不到。一维前缀和能够把时间复杂度为 O(n) 的区间计算优化为 O(1) 的端点计算。
2025-02-08 11:01:09
876
原创 lanqiaoOJ 2097:青蛙过河 ← 二分+前缀和+贪心
● 本题中,整数 n,x 分别表示河的宽度和小青蛙需要去学校的天数。由于 n 和 x 的值较大,所以需要使用二分与前缀和进行优化。● 当数据比较大时,可能会产生溢出。所以,本题中可以使用 mid=le+(ri-le)/2 而不是 mid=(le+ri)/2。● 每一次去学校,都要过两次河,所以实际上青蛙过河的总次数为 2x。● 由题意易得,要想使青蛙成功地过 2x 次河,就要使每一个长度为 y 的区间里的所有石块的高度和大于等于 2x。
2025-01-30 11:19:54
481
原创 lanqiaoOJ 2145:求阶乘 ← 二分法
● 二分法的应用条件是“序列是单调有序的”,这题满足吗?因为 n 递增时,尾零的数量也是单调递增的,符合二分应用条件。● 给定 n!,其 2*5 出现的次数,即是 n! 的末尾出现 0 的次数。而 n! 中,因子 2 出现的次数多,因子 5 出现的次数少,所以统计 2*5 出现的次数就转化为统计 5 出现的次数。● 当数据比较大时,可能会产生溢出。所以,本题中使用 mid=le+(ri-le)/2 而不是 mid=(le+ri)/2。
2025-01-29 22:57:53
460
原创 2025 = 1^3 + 2^3 + 3^3 + 4^3 + 5^3 + 6^3 + 7^3 + 8^3 + 9^3
2025 = 1^3 + 2^3 + 3^3 + 4^3 + 5^3 + 6^3 + 7^3 + 8^3 + 9^3
2025-01-29 18:40:30
206
原创 CodeForces 611:New Year and Domino ← 二维前缀和
● 前缀和及差分:https://blog.csdn.net/hnjzsyjyj/article/details/145290457
2025-01-25 22:50:01
653
原创 洛谷 P5709:Apples Prologue / 苹果和虫子
● 若 t=0,说明一瞬间可以吃完所有的苹果。● 若 t≠0,且 s%t 等于 0,那么剩余的完整苹果为 max(0, m-s/t) 个;若 t≠0,且 s%t 不等于 0,那么剩余的完整苹果为 max(0, m-s/t-1) 个。● 这是因为,若给定的时间 s 大于吃完所有苹果的时间,那么此时 m-s/t 及 m-s/t-1 的结果为负数,显然不符合实际。因为剩余的苹果个数不可能为负数。所以需和 0 比大小。
2025-01-25 20:35:01
297
原创 洛谷 P2004:领地选择 ← 二维前缀和
● 注意,首都被认为是一个占地 C×C 的正方形。● 题目要求输出的是“首都左上角的坐标”。这是一个坑。● 通过左上角坐标 (i, j) 和边长 c 计算出右下角坐标 (i+c-1, j+c-1),再根据二维前缀和公式计算正方形区域的土地价值和:s[i+c-1][j+c-1]-s[i-1][j+c-1]-s[i+c-1][j-1]+s[i-1][j-1]。注意,这个计算基于“屏幕坐标系”。
2025-01-22 07:34:46
628
原创 “斜十字法”图例助记二维前缀和及二维差分等公式
本博客是自己创造的助记方法,仅供参考。这种助记方法以一维的形式为出发点,所以前提是必须牢记一维的形式。
2025-01-22 02:30:00
677
原创 洛谷 P3397:地毯 ← “二维前缀和 + 二维差分”模板题
推而广之,易得对二维区域内所有元素 +x 的代码为:d[i][y1]+=x,d[i][y2+1]-=x (x1≤i≤x2)
2025-01-20 23:26:05
823
原创 洛谷 P5638:光骓者的荣耀 ← 一维前缀和
s[i]=a[1]+a[2]+…+a[i],表示城市 1 至城市 i+1 耗费的时间。其中,1≤i≤n-1。据此,可得城市 i 到城市 i+k 耗费的时间为 s[i-1+k]-s[i-1],而不是 s[i+k]-s[i]。这是本题“坑点”。
2025-01-20 19:50:43
1274
原创 lanqiaoOJ 2128:重新排序 ← 一维差分
一个长度为n的一维数组a[1]~a[n],其对应的一维差分数组d[]的定义为d[i]=a[i]-a[i-1]。即,差分数组d[]是原数组a[]相邻元素的差。显然,根据一维差分数组d[]的定义,可知:d[i]=a[i]-a[i-1],d[i-1]=a[i-1]-a[i-2],...,d[2]=a[2]-a[1],d[1]=a[1]-a[0]进而推出a[i]=d[1]+d[2]+...+d[i],即a[]是d[]的前缀和,所以“差分是前缀和的逆运算”。
2025-01-19 22:07:03
817
原创 lanqiaoOJ 2080:求和 ← 由嵌套 for 循环到一维前缀和
一维前缀和非常简单,简单到一句话就能说清楚。即,一个长度为n的一维数组a[1]~a[n],其一维前缀和s[i]=a[1]+a[2]+...+a[i]。这么简单?需要专门学?需要,因为利用前缀和可以提高计算效率,不学就想不到。
2025-01-19 06:13:56
546
原创 集合帖:排序 ← sort() 函数
排序算法的学习虽然很重要、很必要,但是在算法竞赛中,一般不需要自己写排序的代码,而是直接调用 C++ 的 sort() 函数就可以了。
2025-01-17 01:00:00
612
原创 AcWing 1165:单词环 ← 0-1分数规划
将每一个单词看作一条边,其开头两个字符和结尾两个字符为它两边的点。这种构图方式,可将图的结点数缩至 676 个(26×26),边数为题目给定的 10^5 条。
2025-01-17 01:00:00
578
原创 洛谷 P1781:宇宙总统 ← 排序(字符串排序)
因为票数可能会很大,可能会到 100 位数字,所以数字以字符串形式输入,即采用高精度的形式输入。
2025-01-16 03:30:00
236
原创 罗勇军OJ 1093:分香蕉 ← 排序(复杂排序)
本题难度不大,但是复杂。需要做多次排序。(1)香蕉按质量从小到大排序;(2)猴子按编号从小到大排序;(3)猴子按体重从大到小排序;
2025-01-16 02:15:00
168
原创 AcWing 3959:天然气管道 ← 曼哈顿距离
根据题意,由于采气点与配气站一一配对,且管道建设必须由采气点开始,沿正东或正南方向铺设,所以配对成功的采气点 s 与配气站 e 必然满足“配气站的横坐标大于等于采气点的横坐标,配气站的纵坐标小于等于采气点的纵坐标”,则其曼哈顿距离计算公式为 s.y-e.y+e.x-s.x。且通过分析易得,不管哪种组合,其计算曼哈顿距离的式子是相同的。所以本题不需复杂的算法,只需简单的加减运算即可。
2025-01-15 08:09:36
543
原创 洛谷 P1862:输油管道问题 ← 排序
本题本质上考查的是“一组数到什么数的绝对距离之和最小”。根据数学知识,可知“一组数到其中位数的绝对距离之和最小”。即,本题所求输油管道为 y 值等于中位数的一条直线。
2025-01-13 01:45:00
326
QGIS二次开发 の PyCharm开发环境配置.pdf
2021-04-03
数据结构(C_语言描述)(第2版)_陈广_9787301247761_课后习题参考答案.doc
2019-05-14
OpenCV.2.Computer.Vision.Application.Programming.Cookbook
2012-09-01
Data Structures and Problems Solving Using JAVA (Fourth Edition)
2011-12-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人