会员
周边
众包
新闻
博问
闪存
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
panda-lyl
博客园
首页
新随笔
联系
订阅
管理
1
2
3
4
5
下一页
2025年8月5日
XYD 8/1 归并排序与逆序对的性质以及应用
摘要: 归并排序与逆序对 在归并排序的过程中,由于会涉及到两个序列的首位比较,如果我们作升序排序并且 \(a_{left} > a_{right}\),又因为左右序列都已经有序,所以 \(left\) 左边的数也可以构成逆序对,每次的贡献为 \(mid - left + 1 (mid = \frac{lef
阅读全文
posted @ 2025-08-05 08:53 Panda_LYL
阅读(22)
评论(0)
推荐(0)
2025年4月11日
C++算法:高精度加法
摘要: 高精度加法运用场景 众所周知,在 C++ 中,unsigned long long 和 __int128 并不是万能的,有些长达 \(200\) 位的整数并不是他们能招架的。 所以我们有了高精度算法。这一篇博客讲的是高精度加法。 算法实现 C++ 中,有一个数据类型叫做 string,它能存储字符串
阅读全文
posted @ 2025-04-11 15:41 Panda_LYL
阅读(87)
评论(0)
推荐(0)
2025年3月28日
C++ lower_bound & upper_bound
摘要: 前言 C++ 中 lower_bound 和 upper_bound 的实现原理皆为二分。引用时追加头文件 algorithm 又因为在一个数组中二分的前提是数组本身具有单调性,所以在使用这两个函数之前请保证查询数组的单调性哦。 正文 lower_bound lower_bound 函数返回的是给定
阅读全文
posted @ 2025-03-28 20:56 Panda_LYL
阅读(49)
评论(0)
推荐(0)
2025年3月27日
Openjudge 1759:最长上升子序列
摘要: dp 做法 我们设 \(f_i\) 表示以第 \(i\) 格为结尾得最长上升子序列的长度。先来看样例。 数组 \(a\):1 7 3 5 9 4 8 数组 \(f\):1 2 2 3 4 3 4 我们枚举 \(i\),然后看 \(i\) 之前的第 \(j\) 位 (\(j \le i\)),判断 \
阅读全文
posted @ 2025-03-27 12:25 Panda_LYL
阅读(44)
评论(0)
推荐(0)
2025年3月24日
Openjudge 2469:电池的寿命
摘要: 题目传送门 Openjudge 电池的寿命 我们先找到电池寿命最大的一个,然后计算其他电池寿命的总和。 如果最大值大于其他电池寿命的总和,那答案就是剩下电池寿命的总和。因为其他电池都耗不过电池寿命最大的那个。 否则答案就是电池寿命总和除以 \(2\),因为每次要放 \(2\) 个电池,所以要除以 \
阅读全文
posted @ 2025-03-24 12:46 Panda_LYL
阅读(83)
评论(0)
推荐(0)
2025年3月20日
乘法逆元=>学习笔记
摘要: 前言 在讲 中国剩余定理 的时候,没有系统性的讲一遍乘法逆元,所以有了这一期专栏。 定义 如果有一个线性同余方程 \(ax\equiv1\pmod{p}\),则称 \(x\) 为 \(a\equiv p\) 的乘法逆元。记作 \(a^{-1}\)。 但是,只有当 \(\gcd(a,p)=1\) 时,
阅读全文
posted @ 2025-03-20 12:08 Panda_LYL
阅读(39)
评论(0)
推荐(0)
2025年3月19日
洛谷 P3629 [APIO2010] 巡逻 => 保姆级题解
摘要: 前置知识 树的直径 思路 首先,通过题目的样例和题面描述,我们可以得知,在不添加任何边的情况下,帽子叔叔巡逻整个村子要走 \(2 \times (n-1)\) 条边,解释一下,就是每条边都会走 \(2\) 遍,又因为有一颗树有 \(n-1\) 条边,所以就是 \(2 \times (n-1)\) 接
阅读全文
posted @ 2025-03-19 21:34 Panda_LYL
阅读(47)
评论(0)
推荐(0)
树的直径=>学习笔记
摘要: 定义 树的直径是指 树上任意两节点之间最长的简单路径。 显然一棵树可能不止一条直径,但它们长度相等。 求法 有 \(2\) 种解法求树的直径,分别是两次 dfs 和 dp。 两次 dfs 先从随机的一个点,假设是根节点,第一次 dfs 求出距离它最远的节点,假设这个节点为 \(u\),然后从 \(u
阅读全文
posted @ 2025-03-19 21:33 Panda_LYL
阅读(23)
评论(0)
推荐(0)
洛谷 P5435 基于值域预处理的快速 GCD 题解
摘要: 算法 虽然标题上写着堂堂正正,辉煌的几个字就是本题正解,但是还有比正解更优的做法。 前置知识:二进制 GCD 当你学完二进制 GCD 之后,就可以直接写出代码,但是要记住取模。 代码 #include<iostream> #include<cstdio> #include<cmath> #inclu
阅读全文
posted @ 2025-03-19 21:31 Panda_LYL
阅读(18)
评论(0)
推荐(0)
二进制 GCD 学习笔记
摘要: 前言 欧几里得算法可以在 log 的时间复杂度内求出 个数的 GCD,但是这还是太慢了。 在一些题目中 ,欧几里得算法就会 TLE。 欧几里得算法 理论:\(\gcd(a,b) = \gcd(b, a \bmod b)\) 二进制 GCD 更相减损术 已知两个数 \(a\), \(b\), 求 \(
阅读全文
posted @ 2025-03-19 21:29 Panda_LYL
阅读(27)
评论(0)
推荐(0)
1
2
3
4
5
下一页
公告