自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 202609CSP认证P3

这是我这次最主要的错误来源。j <= ...;j++)j 表示“第 j 毫秒”这种写法非常危险。j=2是时刻 2?还是第二毫秒[1,2)?在j=2时轮转,是第二毫秒之前还是之后?任务在第 2 毫秒结束,是在什么时候重新入队?这些问题如果没有明确时间坐标,代码会产生大量 off-by-one 错误。令cur表示绝对时刻。cur = 0表示系统刚刚启动。表示 CPU 接下来运行 1ms。cur = 0:运行 [0,1)cur = 1:运行 [1,2)

2026-10-21 21:42:44 157

原创 固定端点 + GCD 状态压缩:从 2024 ICPC 昆明邀请赛 E 到 CSP 第 37 次认证 T4

最近重新遇到了两道非常相似的 GCD 区间题:虽然两道题的目标完全不同,但它们使用了几乎完全相同的核心技巧:固定一个端点+维护所有不同的区间 GCD+合并 GCD 相同的状态\boxed{\text{固定一个端点}+\text{维护所有不同的区间 GCD}+\text{合并 GCD 相同的状态}}固定一个端点+维护所有不同的区间 GCD+合并 GCD 相同的状态​更一般地说,这是一类:固定端点的区间函数状态压缩\boxed{\text{固定端点的区间函数状态压缩}}固定端点的区间函数

2026-10-12 11:14:32 225

原创 【无标题】

pwd— 当前所在目录基础— 查看目录内容— 切换目录— 创建目录可以一次创建多级目录。

2026-10-09 11:44:47 146

原创 线性筛欧拉函数:统计 gcd 为质数的有序数对数量

这道题最关键的不是线性筛本身,而是先进行 gcd 的转化。固定质数pppgcd⁡xypgcdxypxpaypbxpaypbgcd⁡ab1gcdab11≤ab≤⌊np⌋1≤ab≤⌊pn​⌋而1∼m1\sim m1∼m2∑i1mφi−1\boxed{2i1∑m​φi−1​ans∑p≤n2S⌊np⌋−1。

2026-10-07 18:52:36 242

原创 线性筛法详解:从筛质数到欧拉函数、Möbius 函数与约数函数

xipx=ipxipp∤ip\nmid ip∤ip∣ip\mid ip∣i两种情况。p∤ip\nmid ip∤i:加入一个全新的质因子;p∣ip\mid ip∣i:已有质因子的指数增加 1。因此很多积性函数都可以在线性筛中一起递推。

2026-10-07 18:51:50 246

原创 CSP 第43次认证 T4:集合划分 —— 图染色与二分图判定

集合划分⟶冲突图染色\text{集合划分}\text{冲突图染色}集合划分⟶冲突图染色如果图中没有边,答案为 1;如果冲突图是二分图,答案为 2;否则利用层数模 3 构造,答案为 3。kx≤yk1xkx≤yk1xk1≤k2k+1\le k^2k1≤k2kx≤yk2xkx≤yk2x冲突点层数最多相差 2,因此按模 3 染色一定合法。

2026-10-07 18:49:06 307

原创 HDU 多校第 9 场 12:交换一次后相邻差平方和变大的方案数

本题的关键不在于直接计算整个数组的价值,而在于发现交换只影响常数条相邻边。这将问题转换为二维点的同向偏序计数;通过“第一维降序、第二维升序”排序后,统计第二维严格逆序对即可。再对端点与相邻位置进行单独处理,就能在Onlog⁡nO(n\log n)Onlogn。

2026-09-02 12:24:14 167

原创 Lambda表达式在算法竞赛中的应用

/ pair 优先队列:按 first 升序(小根堆)// 注意:priority_queue 返回 true 表示优先级低// 1 2// 活动选择问题int n;cin >> n;i < n;i++) {// 按结束时间升序排序});cnt++;return 0;intint要点说明sort 比较表示a排在b前面priority_queue 比较表示a优先级低于b(沉底)捕获列表[&]引用捕获,[=]值捕获,竞赛中常用[&]

2026-07-26 14:10:31 167

原创 template在算法竞赛中的一些应用

template是C++中的模板关键字,用于定义通用的函数,而不需要指定具体的数据类型。在算法竞赛中,我们在定义gcd,qpow等函数时,如果传入的参数是long long ,int,__int128等不同类型的整数变量,就可能因为和函数定义时的参数类型不同而导致报错。对于快读快写也是同样,对于int,long long ,__int128,等不同的类型,我们可能需要写多个类型的快读快写函数,这样毫无疑问是对效率的损失。

2026-07-26 13:54:08 382

原创 2021年上海市赛D. Zztrans 的套件合照

摘要:题目要求将n个人(n为偶数)排成两排,每排n/2人,满足每排身高非递减且第二排对应位置不低于第一排。解法采用动态规划,统计不同身高人数后,定义dp[i][j]为处理前i类身高后第二排有j人的方案数。状态转移考虑每类分配到第二排的人数,最终答案需乘以同类身高排列方式(阶乘)。时间复杂度O(n^3),空间O(n^2)。关键点包括状态压缩、分类处理和几何约束。

2026-07-24 14:46:14 212

原创 2024 年昆明邀请赛 M 题:意大利菜

摘要 题目要求在凸多边形披萨上进行一次直线切割,使得切下的最大块不含内部圆形菠萝。切割线不能穿过圆,但可相切。需计算合法切割的最大披萨块面积的两倍,若无解则输出0。 方法一:预处理面积前缀和,对每个起点通过二分查找最远合法终点,时间复杂度O(n log n)。方法二:利用双指针维护合法区域,起点和终点指针均单调移动,时间复杂度O(n)。两种方法均需处理大数运算,使用__int128避免溢出。 输入:多组测试数据,每组给出凸多边形顶点坐标和圆参数。输出:最大合法面积的两倍或0。

2026-07-14 11:19:44 291

原创 14决赛蓝桥杯

本题如果直接计数考虑起来十分复杂,我们考虑使用递推法设an​表示的是圆上点的个数为n时的方案数,则我们考虑点1与其他的点相连的所有可能情况:1.点1不与任何点相连,此时的可能情况与an−1​时相同2.若点1与点i相连,则1-i这条直线将原本的圆分成两部分,总的方案数为这两部分方案数的乘积因此an​an−1​k0∑n−2​ak​an−2−k​直接递推求解即可答案为104。

2026-06-02 22:57:35 342

原创 完美解决VS Code/Cursor远程连接报错:远程主机不满足运行 VS Code 服务器的先决条件(附AI编程最佳实践)

最近在接手维护一个老项目,服务器是腾讯云的轻量应用服务器,装了宝塔面板。在经历了一系列 SSH 端口放行、密码配置的折腾后,终于用系统自带的终端成功连上了服务器。终端明明能连,为什么 VS Code 就是连不上?经过一番排查,我不仅找到了病因,还摸索出了一套。

2026-05-15 10:53:37 834 5

原创 利用树状数组求解LIS问题

【代码】利用树状数组求解LIS问题。

2026-04-09 22:39:19 53

原创 图论模板整理

本文总结了图论算法中的常用模板,主要包括:1)链式前向星存储结构;2)Hamilton型和Eular型问题的遍历方法,重点给出了Eular型遍历的完整代码框架;3)树相关问题的处理,包括节点深度和父节点信息的获取以及LCA的倍增算法实现;4)三种最短路算法(Floyd、Dijkstra堆优化、SPFA)的代码实现。这些模板涵盖了图论中的基础算法和常见问题解决方案,可作为竞赛和算法学习中的实用参考。

2026-04-06 23:31:38 364

原创 算法模板-字符串

本文介绍了三种字符串处理算法:字符串哈希、KMP和Manacher。字符串哈希部分展示了基于自然溢出的哈希实现,用于字符串去重计数。KMP算法提供了模式匹配的实现,包括next数组构造和主匹配过程。Manacher算法模板展示了如何在线性时间内求解最长回文子串长度。这些算法都是字符串处理中的基础且高效的方法,适用于不同场景下的字符串匹配和模式识别问题。

2026-04-05 22:35:06 619 2

原创 数据结构--模板

整理数据结构的模板

2026-04-04 10:57:38 385

原创 【故障复盘】VS Code Remote-SSH 连接失败:ZeroTier 链路异常与 GLIBC 版本冲突双重坑

UnparsableOutput 通常是次生错误:不要被它迷惑,优先看前面的原始 SSH 报错。版本不一定越新越好:在科研环境中,服务器系统往往较老且无法轻易升级,保留一个低版本且稳定的 VS Code 是很有必要的。分层排查:按照网络层 -> 服务层 -> 软件兼容层的逻辑,能解决 90% 的连接问题。

2026-04-02 23:28:55 477

原创 高维矩阵的压维存储和高维差分

在很多问题中,如果我们直接用d[i][j][k]进行存储可能会超出存储空间。这样我们就可以用一个一维数组来表示对应的状态。

2026-03-31 20:36:25 188

原创 从Nim游戏到SG函数

公平组合问题在蓝桥杯等算法竞赛中经常出现,最经典的例子莫过于Nim游戏Nim游戏:两个玩家面前有若干堆石子,每个玩家每次可在每堆石子中取走任意多个石子,取走最后一枚石子的玩家获胜。其结论为如果所有堆的石子个数的异或值为0,那么代表这个状态是先手必负,否则说明该状态为先手必胜状态。

2026-03-30 22:58:55 72

原创 利用树状数组求第k小的数

在算法竞赛中,一个常见的问题是给定n个数,如何求出这n个数中第k小的数。如果该问题是离线的,我们可以直接使用堆,我们考虑维护一个大小是k的大根堆,对于每个新输入的数,如果该数push进入大根堆之后,大根堆的元素个数仍<=k,那么我们直接将该数加入大根堆;如果该数push进入大根堆之后,大根堆的元素个数>k了.那么我们就将当前堆顶的元素(也就是当前的最大元素)pop掉.那么我们最后得到的k元堆,实际上就是最小的k个元素组成的大根堆.因此也就有此时大根堆的堆顶就是第k小的元素.

2026-03-25 22:01:36 223

原创 第十届蓝桥杯C++A组真题整理

本题就是直接模拟。

2026-03-11 19:58:07 366

原创 2021年蓝桥杯C++A组真题

(1.卡片)[https://www.lanqiao.cn/problems/2383/learning/]本题相对而言比较简单,给定k种卡片,每个同学分两张卡片。我们就要考虑k种卡片最多可以分给多少个同学。如果说从k种卡片种选择不同的两张卡片,那么结果就是C_{k}^{2} =k(k-1)/2种再加上我们还可以两张卡片选择相同种类的卡片,那么结果就是k种综上所述,给定k张卡片,至多可以分给k(k-1)/2+k=k(k+1)/2个同学。

2026-03-10 23:35:26 428

原创 2022年蓝桥杯C++A组 复习回顾

本次比赛考察了10道题目。

2026-03-10 09:31:14 251

原创 算法模板-并查集

(P3367 【模板】并查集)[https://www.luogu.com.cn/problem/P3367]

2026-02-25 00:41:27 57

原创 算法模板-01trie数

在蓝桥杯中我们需要掌握两种trie树:字符字典树和01trie树,其中字符字典树主要用于处理单一字符串面向多个字符串的匹配问题而01trie树主要用于处理异或最大值的相关问题。

2026-02-24 23:44:29 95

原创 算法模板-ST表

RMQ问题是指对于数组,每次给定一个区间[l,r]要求返回区间内的最大值。对于该问题,一个很容易想到的思路是直接遍历[l,r]区间内的所有数,并求出最大值,这样的算法复杂度是O(n).

2026-02-24 23:43:41 296

原创 算法模板-线段树

(P3372 【模板】线段树 1)[https://www.luogu.com.cn/problem/P3372]

2026-02-24 23:43:02 97

原创 算法模板-树状数组

介绍树状数组算法并且给出算法模板

2026-02-24 18:57:14 450

原创 从 TCP 到 JSON:一次 FastAPI + LLM 生产环境 “Unexpected end of JSON input” 的底层剖析

代理层超时TCP 被中断连接被重置网关断开JSON 编码Unicode 问题FastAPI 序列化。

2026-02-23 23:37:30 805

原创 蓝桥杯中的日期问题

在很多日期问题中,输入格式为一个8位字符串代表的年月日或者题目要求输出格式为一个8位的年月日。这种情况下,我们使用格式化scanf和printf可以很好的简化问题。

2026-01-25 23:13:49 422

原创 RMQ和ST表

RMQ问题是指对于数组,每次给定一个区间[l,r]要求返回区间内的最大值。对于该问题,一个很容易想到的思路是直接遍历[l,r]区间内的所有数,并求出最大值,这样的算法复杂度是O(n).

2026-01-15 16:23:08 290

原创 【实用技巧】终止nohup后台运行程序的完整步骤(附实战案例)

查PID(ps -ef | grep 程序名)→ 杀进程(kill/kill -9 PID);重点关注ps -ef输出的第二列(PID),区分目标进程和grep自身进程;优先优雅终止,仅在程序无响应时使用强制终止。

2026-01-12 18:57:49 1224

原创 C++输入输出的一些问题

在之前的文章中我们讨论过各种数据类型使用printf输出时,格式化字符串的使用方法。下面我们来讨论一些其他的输入输出技巧。

2026-01-11 15:22:36 172

原创 __int128与一些数据范围、读取问题

本文探讨了在编程竞赛中处理大整数和浮点数的常见问题。针对超出long long范围的整数运算,推荐使用__int128类型,并提供了自定义的读写函数实现。文章还总结了常见数据类型的存储范围、精度及对应的格式化输出方式,包括int、long long、float、double等。特别强调了long double和__int128这类特殊类型的正确输出格式,帮助选手避免因数据类型选择不当或格式化错误导致的失分问题。

2025-12-30 11:28:06 373

原创 归并排序求逆序数

【代码】归并排序求逆序数。

2025-12-24 15:40:21 176

原创 2025年蓝桥杯省赛C++大学A组

介绍笔者对2025年蓝桥杯c++大学A组赛题的理解和整理

2025-12-17 22:35:50 1043

原创 2024年蓝桥杯省赛C++大学A组试题整理

本文主要介绍2024年蓝桥杯省赛C++A组一些题目的个人见解

2025-12-16 00:07:45 1436 2

原创 Linux使用经验——mv命令

mv是 Linux/Unix 系统中核心的文件/目录操作命令,全称,核心功能是或文件/目录(本质都是修改文件系统的目录项),无需复制文件数据(除非跨文件系统),效率极高。

2025-11-29 22:54:24 746

原创 Linux使用经验——离线运行python脚本

将日志写入test.log关键参数-u:禁用 Python 输出缓冲,保证日志实时写入文件(否则日志可能延迟显示)。nohup python3 -u 脚本.py > 日志文件 2>&1 &-u(实时日志)、2>&1(合并错误输出)、(后台运行)运维技巧:结合pskill管理进程、tail -f查看日志、systemd 实现开机自启。

2025-11-29 22:50:34 1149 2

空空如也

空空如也

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

TA关注的人

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