会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Kruskal4668
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
16
下一页
2025年10月7日
Luogu P14007 「florr IO Round 1」查询游戏 题解 [ 蓝 ] [ 交互 ]
摘要: 查询游戏 原题做法是显然的,子段绝对值最大值可以转化为求出前缀和序列的最大值、最小值,然后两者作差即可。查询操作可以转化为询问前缀和序列中两个元素比大小。因为查询数 \(2n\),所以各扫一遍用擂台法求最大、最小值即可。 注意特判 Sub0 的 \(n = 1, 2\) 的情况: \(n=1\),问
阅读全文
posted @ 2025-10-07 12:39 KS_Fszha
阅读(21)
评论(0)
推荐(0)
2025年10月2日
浅谈 Baka's Trick / 不带删尺取 / 对顶栈
摘要: 1. 算法介绍 1.1 维护普通队列 问题:维护一个队列,支持 pop_front 和 push_back,查询队列内所有元素的信息和。保证该信息具有结合律。不保证该信息具有可差分性。 平凡的做法是用线段树或 ST 表维护这种不可差分的信息,然后跑双指针,时间复杂度大部分情况下会比普通双指针多一个
阅读全文
posted @ 2025-10-02 10:46 KS_Fszha
阅读(166)
评论(0)
推荐(1)
Codeforces 1385G Columns Swaps 题解 [ 蓝 ] [ 扩展域并查集 ] [ 二分图最大权匹配 ] [ 基环树建模 ]
摘要: Columns Swaps: 经典的图论问题,典中典了。 首先判掉无解,如果有一个数没有出现两次,则一定无解。在此基础上我们也可以得出一个转化:只需要保证序列 \(a_1\) 是一个排列,那么 \(a_2\) 自然也是一个排列了。 Sol.1 二分图最大权匹配 如果你科技学傻了,那么这就是一种最无脑
阅读全文
posted @ 2025-10-02 01:30 KS_Fszha
阅读(7)
评论(0)
推荐(0)
2025年10月1日
Luogu P3863 序列 题解 [ 紫 ] [ 分块 ] [ 扫描线 ]
摘要: 序列:思路比较典的扫描线题。 一个经典 trick:对于涉及历史版本操作的题,新增代表“时间”的一个维度,刻画在 \(\bm{k + 1}\) 维空间上考虑。 对于此题,发现是查询序列历史版本大于等于 \(v\) 的值的个数,于是可以把它刻画在一个二维平面上,\(x\) 轴代表序列的维度,\(y\)
阅读全文
posted @ 2025-10-01 02:22 KS_Fszha
阅读(12)
评论(0)
推荐(0)
2025年9月30日
Luogu P14080 [GESP202509 八级] 最小生成树 题解 [ 蓝 ] [ 最小生成树 ] [ 并查集 ] [ 树链剖分 ] [ 次小生成树 ] [ 倍增 ]
摘要: 最小生成树:板、典、原。 不难想到我们可以先找出原图的 MST,然后对于不在 MST 上的边,删掉它也不会影响答案。因此我们只需要考虑在 MST 上的边删掉有什么影响即可。 假设当前被删掉的边为 \(e\),两个端点为 \(u, v\),那么如果要使得 MST 继续保持连通,则添加的新边 \((a,
阅读全文
posted @ 2025-09-30 17:38 KS_Fszha
阅读(118)
评论(0)
推荐(0)
Codeforces 2149G Buratsuta 3 题解 [ 蓝 ] [ 摩尔投票 ] [ 线段树 ] [ 随机化 ] [ 主席树 ] [ 根号分治 ]
摘要: Buratsuta 3:典中典中典中典中典了属于是。 Sol.1 摩尔投票 首先维护区间出现次数大于等于 $\left \lfloor \dfrac{len}{k} \right \rfloor $ 次的数是摩尔投票板子,每次把 \(k\) 个不同的数相消即可。然后因为摩尔投票具有结合律,所以可以上
阅读全文
posted @ 2025-09-30 16:17 KS_Fszha
阅读(75)
评论(0)
推荐(0)
2025年9月23日
分块 学习笔记
该文被密码保护。
阅读全文
posted @ 2025-09-23 19:11 KS_Fszha
阅读(0)
评论(0)
推荐(0)
Hetao P10588 十载峥嵘桀骜 题解 [ 紫 ] [ 树的直径 ] [ 矩阵加速 DP ] [ 状态设计优化 ]
摘要: 十载峥嵘桀骜:感觉挺简单的,就是代码处理比较繁琐。 一个最简单的部分分是暴力模拟建图之后跑矩阵快速幂转移,时间复杂度 \(O(n^3\log t)\),随便拼点其他特殊性质就能 68pts 了。 考虑正解,结合树的直径的 DFS 求法,容易注意到在走完第一天后,第二天开始走的就是树的直径了。 同时又
阅读全文
posted @ 2025-09-23 18:48 KS_Fszha
阅读(11)
评论(0)
推荐(0)
2025年9月20日
CSP 2025 游记
该文被密码保护。
阅读全文
posted @ 2025-09-20 21:13 KS_Fszha
阅读(1)
评论(0)
推荐(0)
2025年9月18日
Codeforces 2144F Bracket Groups 题解 [ 紫 ] [ AC 自动机 ] [ DP ] [ 构造 ]
摘要: Bracket Groups:赛时猜出来用 ACAM,结果没猜到结论,我是糖比。 首先判掉一些 corner,如果出现了 \(\texttt{()}\) 为单个字符串,则一定无解。 发现后面不太好做,所以可以套路地猜一猜答案上界,发现最多只需要分成两组。具体地,考虑往极端情况构造,弄出下面两种括号串
阅读全文
posted @ 2025-09-18 23:39 KS_Fszha
阅读(13)
评论(0)
推荐(0)
2025年9月16日
Codeforces 2144E2 Looking at Towers (difficult version) 题解 [ 蓝 ] [ 线性 DP ] [ 树状数组 ]
摘要: 上 Master 了。
阅读全文
posted @ 2025-09-16 18:03 KS_Fszha
阅读(61)
评论(0)
推荐(1)
2025年9月6日
Luogu P4064 [JXOI2017] 加法 题解 [ 蓝 ] [ 二分 ] [ 贪心 ] [ 差分 ]
摘要: 加法:感觉挺像超速检测风格的。 最大化最小值,显然可以二分最小值,判断最小值是否合法。这样我们求求出了每个数至少要覆盖的次数。 于是问题被转化为,\(m\) 个区间里选出最少个区间,判断使用的区间个数是否 \(\le k\)。 这个问题显然是一个最小区间覆盖的贪心,我们从左向右扫。假设当前扫到的下标
阅读全文
posted @ 2025-09-06 02:21 KS_Fszha
阅读(9)
评论(0)
推荐(0)
Codeforces 1705E Mark and Professor Koro 题解 [ 蓝 ] [ 线段树上二分 ]
摘要: Mark and Professor Koro:比较简单的线段树上二分题。 先来记录一下区间 \([l,r]\) 内线段树二分的流程: 如果当前节点在 \([l, r]\) 内: 判断该区间是否有解: 若无解,直接返回 \(-1\)。 若有解,依次递归左右儿子节点,找到答案则返回。 否则判断左右儿子
阅读全文
posted @ 2025-09-06 00:37 KS_Fszha
阅读(15)
评论(0)
推荐(0)
Codeforces 2131F Unjust Binary Life 题解 [ 绿 ] [ 前缀和 ]
摘要: Unjust Binary Life:简单题,感觉一大把 *1900 比这个难啊。 首先注意到靠这种方式生成的网格图有比较良好的性质,其他题有一些什么行与列相互独立的结论,但这题直接把 \((1,1)\) 到 \((x, y)\) 的路线画一下,你就能发现只有把第 \(1\sim x\) 行和第 \
阅读全文
posted @ 2025-09-06 00:05 KS_Fszha
阅读(21)
评论(0)
推荐(0)
2025年9月4日
Codeforces 1620D Exact Change 题解 [ 绿 ] [ 枚举 ] [ 贪心 ] [ 分类讨论 ]
摘要: Exact Change:有点幽默的诈骗题。 观察一下性质,不难发现我们选择的 \(1,2\) 最多不超过 \(2\) 个,因为如果存在一个数选了 \(3\) 个 \(1,2\),那么我们可以直接用 \(1\) 个 \(3\) 或者 \(2\) 个 \(3\) 代替,这样一定更优。 接下来看似是一个
阅读全文
posted @ 2025-09-04 17:27 KS_Fszha
阅读(8)
评论(0)
推荐(0)
2025年9月3日
Luogu P11203 [JOIG 2024] 感染シミュレーション / Infection Simulation 题解 [ 紫 ] [ 二维偏序 ] [ 并查集 ] [ 倍增 ] [ 贪心 ]
摘要: Infection Simulation:JOI 唯一好的地方就在于样例强的一批,过了样例基本上就把题过了。 观察题目,可以发现以下性质: 感染者存在的时刻一定构成一个区间。因为不可能出现感染者消失后再出现的情况。 当 \(x\) 逐渐变小的时候,被感染的人一定不会变少,感染的限制条件一定不会更紧,
阅读全文
posted @ 2025-09-03 00:26 KS_Fszha
阅读(7)
评论(0)
推荐(0)
2025年8月31日
Codeforces 1627D Not Adding 题解 [ 绿 ] [ 最大公约数 ] [ 调和级数 ] [ 枚举 ]
摘要: Not Adding:一个 \(\gcd\) 的经典 trick。 对于求 \(\gcd\) 的题目,有一个经典 trick:枚举 \(\gcd\) 的值,然后枚举 \(\gcd\) 的每个倍数,计算每个倍数对 \(\gcd\) 的贡献。不难发现这个复杂度是调和级数的。 对于此题,题意可以转化为求最
阅读全文
posted @ 2025-08-31 15:35 KS_Fszha
阅读(17)
评论(0)
推荐(0)
Codeforces 2081D MST in Modulo Graph / Luogu P7789 [COCI 2016/2017 #6] Sirni 题解 [ 蓝 ] [ 最小生成树 ] [ MST 优化建图 ] [ 调和级数 ]
摘要: MST in Modulo Graph:MST 好题。 一般这种完全图求 MST 的题,有两种思路: 优化建图,根据图的性质砍掉一些无用边。 使用 Boruvka 算法,搭配某些数据结构求每个节点的最小边。 本题中取模的条件用数据结构比较难维护,于是考虑优化建边的思路。 首先,值相同的点显然是可以先
阅读全文
posted @ 2025-08-31 02:33 KS_Fszha
阅读(14)
评论(0)
推荐(0)
2025年8月30日
Codeforces 1036D Vasya and Arrays 题解 [ 黄 ] [ 双指针 ] [ 前缀和 ]
摘要: Vasya and Arrays:弱智题。 打 CF Bingo 的时候被这题硬控 1min,还被 Xlw6friend 喷糖了,我才是奶龙!!!!!! 先考虑什么时候有解,不难发现如果将所有数都合并到一起,如果此时两个数组还不同就一定无解。 而对于有解的情况,相当于我们要将两个序列进行分段,使得两
阅读全文
posted @ 2025-08-30 14:27 KS_Fszha
阅读(9)
评论(0)
推荐(0)
2025年8月28日
Luogu P9595 「Daily OI Round 1」Xor 题解 [ 蓝 ] [ 01 Trie ] [ 二叉树 ] [ 线段树 ]
摘要: Xor:有点牛的题。 Sol.1 普通 01 Trie 做法 应该是比较套路的一种做法了。首先考虑静态问题怎么做,先把值域里的所有数丢到 01 Trie 内,然后再将 \(A\) 序列里的数在 01 Trie 上查询,查询到的节点打上一个 Tag。最后 dfs 一遍,合并两个儿子就类似于最大子段和,
阅读全文
posted @ 2025-08-28 21:28 KS_Fszha
阅读(7)
评论(0)
推荐(0)
上一页
1
2
3
4
5
6
7
8
···
16
下一页
公告