自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 (dp、并查集)洛谷 P9352 JOI 2023 Final 训猫 题解

一种很新的做题形式。

2026-01-22 15:49:12 669

原创 计数题 #2 - 系列B 题解

建议前往原题阅读题面、样例及其解释。

2026-01-03 10:05:08 1149

原创 计数题 #4 - 难题番外B 题解

给定n个元素的集合S12⋯n和整数 $ k$,现在要从S中选出若干子集Aij​A⊆S1≤j≤i≤k排成下面所示边长为k的三角形(因此总共选出了21​kk1个子集)。A11​A21​A31​⋮Ak1​​A22​A32​⋮Ak2​​A33​⋮Ak3​​⋱⋯​Akk​​此外,JYY 对选出的子集之间还有额外的要求:选出的这些子集必须满足Aij​⊆。

2026-01-03 10:03:16 685

原创 GJOI 11.20 题解

然后前者我赛时脑抽了,一直想要对每条边拓展小于其的边,但是显然会有冲突,是不好处理的。快结束是才惊醒可以对每个点按照点权排序,然后在树上依次加点,考虑暴搜的瓶颈,就是前面的位跑了太多的非法解,于是考虑倒着预处理后面段的字典序最大值,提早终止非法情况。的最大点权减去路径长度。为什么这样的构造是正确的?,不能有相同的数相邻。,如果有尝试翻转的,如果翻转了也不行就无解。,后面能得到的最大权值。的空隙,能插入的地方尽可能地多了。其中后者是经典的树形 dp,设。的路径数,可以边合并边计算。到其它点的路径之和,以。

2025-11-28 10:58:45 928

原创 一类排列 dp 题目

首先我们设不了前面放了哪些数,前面放了后面就放不了影响大小关系分布,有后效性呢。,前面要填比当前排名大的数。于是有一种经典的思路:我们设当前放的数,是。大是插入到别人中间的,所以。洛谷 P2467 请自行修改。交替分布,正反各来一遍。的第多少大构成一段排列。前缀和优化转移可以做到。

2025-11-28 09:36:25 857

原创 (模拟、贪心)洛谷 P7913 CSPS-2019 廊桥分配 / P7915 回文 题解

贪心搭配模拟食用,让贪心题变得更具编码难度了,最近这种题出现次数也不少。还得要细心啊。

2025-11-27 19:16:30 1004

原创 重链剖分简写

前阵子看到树剖求 lca 的,然后应急学会了树剖。相对于以前学的长链剖分,改为重链剖分。修改 / 查询树上x→y路径,就两个一起向上跳链头topx​,修改dfntopx​​∼dfnx​的信息——这里把整棵树按照重链优先遍历的 dfn 序搞下来拍平,然后就是线段树的操作了。重链剖分和线段树拼起来,就是以前令我闻风丧胆的——树剖线段树。双 dfs 维护重儿子big和链头top查询x→y。

2025-11-26 22:04:48 945

原创 (MST 优化)P5687 [CSP-S 2019 江西] 网格图

但是这是 MST,所以连起来会成环的边要断掉。普通 kruskal 要先对所有边权排序,假若对。条边,同步更新当前权值总和以及连边总数。编号,每个点可用它所在的行编号。请你求出这个网格图的最小生成树。所连接的行,理论上这行的。看图分析,增加一行要连接。

2025-11-23 20:52:14 342

原创 GJOI 11.17 / nflsoi 8.23 题解

模拟题。不过这都卡常的意义在于?

2025-11-23 19:57:57 658

原创 一类判断包含颜色整体的题目

长度为n的颜色序列c,称区间lr合法,当且仅当不存在一种颜色x在区间内外均出现过。遇到这种题目,发现内外有冲突可以用异或相消的性质,又想到,考虑一个随机赋权。对于某种颜色x的所有坐标posxi​,我们给除了最后一个之外的其他坐标都赋不同的权值,最后一个赋其他坐标的权值异或和,这样只有一个区间内选到所有颜色x的坐标,异或和才为0。

2025-11-22 22:01:43 712

原创 (dp 优化)洛谷 P14460 寻雾启示 题解

越大这个过程就越长。于是考虑维护一个最优上一转移点(上一阶段终点),可能这段时间不足以刷新出一块石头,于是不能粗暴地加。发现从起点开始能走多远,取决于在。出发都只拿到达现阶段要到达的终点所需的铁。处拿了多少铁,为了不浪费时间,每次回到。,建议前往原题阅读题面、样例及其解释。前面的点了,因为选前面的点就会使。考虑转移,考虑前面某个阶段终点为。,然后就拿到了 90pts。必然是单调递增的,而对于。用完了所有的铁,现在想。不一定是从起点直接走到。的情况已经涵盖在初始化。

2025-11-22 20:31:31 793 1

原创 GJOI 11.15 / nflsoi 8.22 题解

搬题搬到啥了?

2025-11-20 21:31:17 1307

原创 GJOI 11.14 题解

目标数组bi​,满足ai​2bi​bi1​​an​2bn​b1​​。因为保证n是奇数,所以容易找出b1​,后面就随便做。

2025-11-20 16:29:03 1050

原创 (博弈论)一类博弈相关的 dp

有的博弈 dp 就是直接贪心。但有的就是要倒序考虑。第一次接触到倒序从终态倒推考虑的是。然后在模拟赛有碰到了这道,原来博弈 dp 都是要从终态往起始态考虑的。为什么?max−min。

2025-11-20 15:28:20 1074

原创 (博弈论)AT_agc002_e Candy Piles / 洛谷 P10398 Remove and Decrease Game 题解

桌子上有N堆糖果。每堆糖果有ai​颗糖果。Snuke 和 Ciel 正在玩游戏。他们轮流走。Snuke 先走。吃了桌上最后一块糖的玩家输掉了比赛。确定如果两个玩家都以最佳方式玩游戏,哪个玩家会赢。

2025-11-19 14:43:28 966

原创 GJOI 11.12 题解

CF25D:无向图满足mn−1。本题解将按照南海云课堂题面进行讲解。

2025-11-18 11:37:03 607

原创 GJOI 11.11 题解

不知道哪里来的题目,感觉质量一般。听说是广大附中交换过来的。

2025-11-14 22:12:15 747

原创 GJOI 11.10 题解

从前往后扫s,记录si​ti​的位置上是A还是BB需要变成AA需要变成B如果遇到一个B就先记录下来;如果遇到一个A,就看前面有没有记录过(剩余)B,如果有就可以配成一对,操作一次A B。于是最后会剩下一些A在前面和一些B在后面,那么只要最后一个(要被替换的)B后面还有si​ti​的B,和第一个A前面还有A,就是有解的。

2025-11-13 22:14:41 1134

原创 一类单位转移的状压 dp

经典状态压缩 dp,看到n特别小就可以考虑二进制状态相关算法了。除了状态之间用位运算进行合并(我们已经做过许多类似的题目),减去某一位,实现状态之间的转移算是很常用的 trick 了。这算是我学到的第一个状压 dp 方法了,。

2025-11-13 09:33:16 977

原创 GJOI 11.7 题解

注意看题,给的是每辆车的进站和出站位次lr。对于两辆车ij,如果li​lj​ri​rj​,那么ij可以停在同一股道。否则不可以。于是先对l这维排序,如果遇到ij但ri​rj​就不得不分开。本质上是一个偏序 dp。设fi​表示枚举到列车ifi​jirj​ri​max​fj​1树状数组维护即可。

2025-11-12 20:35:14 945

原创 GJOI 11.6 题解

根据裴蜀定理,记ggcdab,不管经过多少次操作,所有数modg的余数不变,且所有数都能表示为ki​gx,其中所有数的ki​g相同、x∈0g。于是考虑在余数操作。对余数pi​排序,初始就是pn​−p1​,即最大值减最小值。更改的话可以尝试让每个pi​成为最大值而pi1​成为最小值,即把p1∼i​全部g,每次ans←pi​g−pi1​。

2025-11-11 21:31:46 1025

原创 GJOI 11.5 题解

求最小就两个从小到大排序,因为大的可以把大的消耗掉;最大就一个从小到大,一个从大到小,把大的优势通过小的优势体现出来。

2025-11-11 16:25:44 869

原创 整体二分 系列

一些题目里面,询问是可以通过二分答案求的,Onlogn。但是询问有很多,一个一个处理需要Onmlogn。于是想要把所有询问放在一起,于是就有了整体二分。二分答案的题目一般是问,使用元素1∼x能够满足条件的最小的x。考虑一般的二分答案,对于答案值域lr,我们使用l∼mid的元素,如果满足一个询问的,那么它的答案≤mid,否则mid。拓展到多个。若满足多个询问,那么这些询问的答案≤mid,其它的mid。考虑分治,把≤mid。

2025-11-09 09:33:38 919

原创 根号trick 系列

和分块一样“暴力”但优雅地工具。常用于对因数、除数等分大小,分开处理,使得复杂度在On​根号平衡。。具体地,遇到形如xk×dxk×d≤n的条件,比如每次往后跳步长d跳k步或者跳到n停下来,求amoddx的a的极值等,复杂度为OdV​,就可以分大步长和小步长了。

2025-11-08 15:13:02 1068

原创 (根号分治)nfls #1982 倍数点更新 题解

我们发现修改比较离散,似乎没法线段树,求区间和前缀和也不好搞,考虑在树状数组上。而这样打 tag 只用记录小因数,枚举因数也只需要。看到倍数,可以分类去跳:将。开始,所有元素初值为。内的因数——考虑一个。

2025-11-08 14:57:02 387

原创 GJOI 10.29/10.30 题解

左右只会用一次,上下只会用一次,分别考虑横竖的最大间隔。每次可以把最右边的,通过右移翻到最左边,和次右取最长间隔;也可以左移把最左边的,通过左移翻到最右边,和次左取最长间隔。上下同理。模拟即可。取最小步数相加,最后横竖最大间隔相乘。

2025-11-08 08:09:42 1354

原创 GJOI 10.28 题解

问题转化为,用3个数组成和为s,要求每个数≤n,求方案数。这个问题可以容斥。首先容易用插板法算出没有限制的组合有2s−1​,之所以会多出情况是因为有的三元组中出现了n的数。对于这类超限限制可以直接计算s−n的和的方案数,然后随便3个数中选一个n使其超限,就能还原出超限的三元组。即−13​2s−n−1​,钦定1个数大于n的方案数。但是又出现了一个问题:对于一个有两个超限的三元组,显然有2种和为s−n的三元组可以把它还原,就减多了。例如s9。

2025-11-05 21:12:38 709

原创 (dp)AT 一些区间函数 dp

给定一些奇怪的区间函数,然后要求满足这个区间函数的区间对数和。这种一般都是 dp,做每个下标作为有效右端点新增的贡献。

2025-11-04 22:14:10 772

原创 GJOI 10.27 题解

重归 gzw 出题。

2025-11-03 21:45:05 744

原创 CSP-S2 2025 总结

兹认为这一场没有考很多的算法,大部分都是思维。真正赛时还是状态一般了。主要是有点急,也很慌。赛时 T1 认为是反悔贪心,然后写了一个大模拟一般的、用了三个堆的贪心,却死活过不了大样例 4 的 #2 #3 组询问,彼时已经接近 100 min。于是花大概 10 min 写了 70pts 暴力就忍痛看其它题目了。自认为是很不应该的,因为顺着暴力打就能发现端倪,但是为了总体得分不得不放掉——不过事实证明这个决策是正确的,不然后面的题目就很难拿分了。然后 T2 感觉暴力比较好打,我是放到后面才打的。

2025-11-03 15:41:55 841

原创 (单调队列、ST 表)洛谷 P2216 HAOI2007 理想的正方形 / P2219 HAOI2007 修筑绿化带

怎么能同一年省选出一种类型的题目呢……

2025-11-03 14:53:34 1139

原创 GJOI 10.25 题解

同级的人去同级的车位是没有贡献的。所以贪心地,把级别为i的用户分配到1∼i−1级的车位去。于是考虑维护有什么小级别的车位剩余。最后把所有级别跑一遍,尽量分配到当前车位,实在不行分配到后面,计算负贡献。

2025-11-03 11:11:25 1070

原创 (树形 dp)AT 一些树形 dp 题解

我发现,AT 上有很多比较优质的树形 dp,经典的设状态套路里又带有创新。。

2025-10-31 11:45:40 639

原创 GJOI 10.24 题解

1≤N≤1041\le N\le 10^41≤N≤104,1≤T≤1061\le T\le 10^61≤T≤106,∀di∈[1,105]\forall d_i\in[1,10^5]∀di​∈[1,105]。用堆维护结束时间即可。每次取出最小堆顶后,将下一加入跳舞时间加上堆顶就是结束时间了。2.洛谷 P4137 Rmq Problem / mex题意静态求区间 mex\text{mex}mex。数组长度、查询次数 n,m≤2×105n,m\le 2\times 10^5n,m≤2×105。可持久化线段

2025-10-30 18:36:41 897

原创 (根号分治、sosdp)洛谷 P10408 Apple / P7842 探险者笔记 III 题解

原因是打 GJOI 10.24(模拟赛 27)时,做到了第二题,讲题的大佬说,同校的大佬曾经出的模拟赛就是一道模板题目。首先学会找s原理是每次把末位的1砍掉,如果是0也有退位。还有限定了b原理:给s的每一位0填入1,这相当于关于全集取反得到补集,然后枚举补集的子集,或上s得到超集。也可以用下面的写法,和求子集的方法同理。

2025-10-30 16:34:23 1070

原创 (数学)P6170 USACO16FEB Circular Barn 题解

点的奶牛有多少,同时也等价于这些奶牛中,要被安置至多要走多少步,这个理解可以理解为,从前面过来的奶牛,留下一头在。头奶牛,他的目标是让每个房间恰好有一头奶牛。然而不幸的是,现在奶牛们随意呆在某个房间里,第。作为当代建筑的爱好者,Farmer John 建造了一个圆形新谷仓,谷仓内部。你需要帮 FJ 算出所有奶牛消耗的能量和最小值是多少。FJ 决定采用这样的方法来解决这个问题:让某些奶牛。,每个房间都有通往与其相邻的左右房间的门。,然后其它奶牛继续被暴力推走。各有一头奶牛,想要使得。扇门,他消耗的能量为。

2025-10-28 20:44:56 307

原创 (计数)洛谷 P14254 分割 题解

其实结论可以通过样例解释观察得到。难点在于分类讨论可能比较多,要考虑去重和特殊情况。又因为所选深度不降,于是所选深度全部相同。前面某个点,延伸一条链下来,否则无法保证上界。,建议前往原题阅读题面、样例及其解释。考虑预处理每一层的点集。从大到小排序,选定一个点作为。的交集,同时也是子集。里面选至少一个当下界,否则。的链,并且会向下延伸到大于。,那么交集所代表的深度取值。,一个限定下界,即必须再在。相当于对同层点集,按照。后就只能选前面的点作为。的链,延伸到最深处恰为。处,导致交集下界突破。

2025-10-28 20:06:48 1045

原创 GJOI 10.23 题解

给定一个长度为n的数列a1​a2​⋯an​,每次可以选择一个区间lr,使这个区间内的数都加1或者都减1。请问至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列有多少种。

2025-10-27 21:01:25 730

原创 GJOI 10.20/10.22 题解

多组测试数据1≤T≤101≤n≤1051≤k≤109,保证ai​单调递增,ai​∈1109。

2025-10-24 21:50:05 971

原创 GJOI 10.17/10.18 题解

多组测试数据1≤T≤101≤n≤105ai​∈0109。

2025-10-22 19:07:04 679

空空如也

空空如也

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

TA关注的人

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