一些讲解
文章平均质量分 94
summ1ts
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AtCoder DP Contest 题目全讲(下)
前言:洛谷题单(非本人整理)本篇文章为下期(收录题目 O–>Z\text{O-->Z}O–>Z),题目比较有思维难度,值得一做。O题观察题目数据范围,允许状态压缩。设 fi,sf_{i,s}fi,s 表示右部中的点,与左部中 iii 个点构成匹配的集合为 sss 的方案数,答案为 fn,(1<<n)−1f_{n,(1<<n)-1}fn,(1<<n)−1。考虑如何转移,当构成匹配集合为 sss 时,我们发现二进制表示下 111 的数量(即原创 2024-10-31 11:10:43 · 606 阅读 · 0 评论 -
2023 春季测试题解
但是这是错的,不过只要随机若干次,一定能得到正确的操作序列。因为答案也是对原来的密码锁进行若干次操作,所以随机化是对的。直接开二维数组记录是不可行的,由于每一次操作会覆盖整行整列,所以开两个数组,分别存储行、列的颜色。,考虑一个简单的贪心,把全局最大值和全局最小值分别放在不同行,然后每一行的贡献就可以直接算了。再思考正解,我们走的路径是不是也有某些特殊性质,来简化运算?时的最小路程,输出方案,记录从哪个状态转移过来即可。的情况时顺便判断即可,最后答案减去这些数。,还不知道,是给暴搜加剪枝的分?原创 2024-10-30 16:31:02 · 981 阅读 · 0 评论 -
AtCoder DP Contest 题目全讲(上)
洛谷题单(非本人整理)有一些好写的题就不贴代码了,细节较多的再放上。本篇文章为上期(收录题目A–>NA–>N),题目较为基础,进阶题目放在下期讲解(目前还在咕咕咕)。A题非常简单的方程。fiminfi−1∣hi−hi−1∣fi−2∣hi−hi−2∣fiminfi−1∣hi−hi−1∣fi−2∣hi−hi−2∣,递推一下就行了。B题。原创 2024-10-29 21:33:10 · 1537 阅读 · 0 评论 -
NOIP 2022 题解
答案是可以的,因为只有出现所有非特殊栈放满后,才会去找,而下一次再出现这种情况的位置,一定不会和之前重合,所以最多只会循环。再想,C、F 一定是由竖着的线段和横着的线段组成,把它们找到然后计算即可,计算的式子很好推。线段树查询,标记与信息的合并是好做的,关键是标记与标记的合并。左边第一个大于它的数之后,这是一段后缀,我们会进行区间赋值操作,然后将。节点是否建造军营的方案数,发现很难转移,所含的状态太多了。个数放完了,还有一个多出来的数,考虑这个数的归宿。,我们找到在它之后的最先出现在某个栈的底部的数。原创 2024-10-29 14:52:52 · 820 阅读 · 0 评论 -
CSP-J 2024 题解
没参加,作为场外选手也来浅做一下。原创 2024-10-28 12:02:08 · 942 阅读 · 0 评论 -
CSP-S 2024 题解
所给代码只过了民间数据,可能与实际成绩略有出入。原创 2024-10-28 08:56:29 · 1184 阅读 · 0 评论 -
10.20梦熊十三连测第十三场
开始往左扫,把此时扫到的和加在桶里,然后从右扫,查找当前和的负数的出现次数,然后计算贡献。对于这样的题,一般考虑枚举中位数,计算它所产生的贡献。对于此题,设此时中位数为。的同理,只会变的更小。这说明原序列的单调性是不变的,就允许我们进行二分。所以先把原序列升序排序,然后两次二分分别求出第一个大于等于。对此如何计算,我们可以枚举一棵树中的边。边,这两个可以一起算。的位置,这道题就做完了。的数,经过变化后只会变的更大,,若这四点均不相同,则概率为。边,考虑一棵树中一边。,所以考虑换一种思路。原创 2024-10-21 09:30:14 · 885 阅读 · 0 评论 -
NOIP2023题解
若最小字符等于最大字符,由于字符串长度相同,且字符串两两不同,所以次小的一定大于另一个次大的,依然不可行,由此得证。暴力的 dp 做法似乎没有什么优化的余地了,对正解也没什么启发,但我们将其抽象为一个网格图,发现了什么?这样的转化看似影响不大,但我们再去看 Subtask 8~14,由于其特殊性质,发现只要。其中红格都是我们能到的地方,如果不理解的话一定要手动画图去体会一下,这是最关键的部分。的情况,注意处理数组越界的情况,就可以了。的数据范围很小,所以真正有用的位置并不多,只有一个区间的。原创 2024-10-17 17:45:53 · 1365 阅读 · 0 评论 -
矩阵基础运算
而矩阵乘法的运用很多,最常用的便是加速递推,可以用其优化 dp(例如动态 dp)等等。最经典的便是斐波那契数列的应用,首先把原线性递推式转化为矩阵,然后用矩阵快速幂即可解决。为了方便进行运算,我们会把矩阵设为二维数组,放在结构体里面,并重载运算符。由于矩阵也有乘法,那自然也有矩阵的快速幂,写法与普通快速幂同理。矩阵的加减法和数乘为线性运算,均为逐个元素进行运算。矩阵乘法要求两个矩阵的行数和列数相等,设。然后套个矩阵加速幂就可以了。这是我的矩阵加减乘法的模版。原创 2024-10-16 10:02:17 · 1807 阅读 · 0 评论 -
计数杂题选做(1)
为 CSP-S 和 NOIP 做准备,所以做的题难度并不是非常大,通常以绿蓝题为主。原创 2024-10-15 12:01:54 · 887 阅读 · 0 评论 -
NOIP模拟赛题解
①:本题的反悔贪心可以再细讲一下,首先比较简单的贪心策略是我们想每次都选一个最大子段和,然后把这段删去,然后再去找一段,而这也显然是错的。对此我们考虑反悔自动机,此题的策略即为上述所说,我们通过巧妙的构造差值,使得最终得以达到反悔的目的,而这个操作需要我们用线段树来维护,最终此题的解法就出来了。若有交集,那么它们相交的部分在之前加了一次,在这一次又减掉,说明它不是最优的,被我们反悔掉了,并且此时两区间仍然不相交,依旧符合题意。个数组分别维护,由于我们枚举的位置的单调性,这个复杂度是做到可以线性的。原创 2024-10-14 18:50:40 · 1088 阅读 · 0 评论 -
线段树合并基础
这个时候就可以考虑线段树合并了,我们对每个节点都开一颗以颜色为下标的线段树,维护颜色出现的最大次数及出现最多的颜色,而这两个操作非常简便。线段树合并是指建立一棵新的线段树,这棵线段树的每个节点都是两棵原线段树对应节点合并后的结果。由此,它多被用于维护树上或图上的信息,只要灵活选好每个点上线段树的下标含义,维护的信息,可以帮助你切掉许多困难的题。题目过水,代码就不贴了。,有用树上启发式合并来做的,但你发现,这道题线段树合并直接切掉了,甚至都没几十行代码。的所有儿子的线段树合并到它的线段树上,这道题就解决了。原创 2024-10-12 16:17:01 · 658 阅读 · 0 评论 -
P3810 【模板】三维偏序(陌上花开)
CDQ 分治是离线算法,可以解决一些与点对有关的问题,也可以将动态问题转为静态。在此题中,我们有三个维度。求解三维偏序问题的方法很多,我用的是 CDQ 分治,比较好写,但时间复杂度会劣一些。,先分别递归处理左右两个子区间,然后再考虑跨区间的贡献。两维都满足了,我们可以开一个值域树状数组,用以维护。②:进入 CDQ 分治,设此时处理区间为。从小到大排序,这样满足任意。原创 2024-10-09 16:53:18 · 1378 阅读 · 0 评论 -
浅谈割边及边双连通分量(e-dcc)
在图论中,与连通性相关的问题非常多。对于无向图,有诸如割点、割边、圆方树、双连通分量等等各种概念及算法。那么割边是什么?对于无向图,若删掉一条边后,这张图的连通分量数增加了,那么这条边便是割边。原创 2024-09-23 17:18:14 · 1699 阅读 · 0 评论 -
二分图最大匹配题目乱讲
匈牙利算法或 dinic 算法均可。然后就可以看下文了。原创 2024-09-28 18:43:59 · 1031 阅读 · 0 评论 -
三道相似的筛法题
细心观察,发现这几道题都考察了筛法相关知识,但数据范围巨大,即便是线性筛、杜教筛也无法解决。但给定的区间长度却可以接受,所以就出现了比较巧的做法。原创 2024-10-03 21:42:28 · 929 阅读 · 0 评论 -
组合数求法汇总
另外,Lucas 定理也有适用范围,它一般适用于模数并不是很大(一般是小质数,范围在。的范围不是很大的情况,而限制没有,即方便写高精度,也可以对任意模数取模,唯一缺点便是时间复杂度为。,在取模的意义下,除一个数等于乘它的逆元,我们就可以线性求出阶乘逆元,然后。我们上文说了逆元求组合数需要模上一个质数,那么在模数任意的情况下如何求解?(斯特林数,如果不知道的话很难推出来,可以学一学)的方案,根据加法原理,令它们相加就得到了。(梦回高中数学,需要推出式子,然后高精度求)非常大,模数非常小,的情况。原创 2024-10-05 17:07:08 · 2716 阅读 · 0 评论 -
CSP-S复习:图论题选讲
今天跟着南外复习的图论,十道题,感觉质量不错,就拿出来总结一下。原创 2024-10-07 18:15:04 · 1965 阅读 · 0 评论 -
字符串哈希简单题
的形式,前缀和后缀相等,很自然的想到 kmp 算法。我们枚举起点,然后从起点开始跑 kmp,对于每个位置的 nxt 数组,它可能会有前缀和后缀重叠,这并不满足条件,所以可以跳到 nxt[nxt[j]],直到满足条件或判断无解为止。数量相等,即回文串长度为偶数,所以我们可以枚举对称中心,二分找最长回文子串长度,这个就是字符串哈希很经典的操作了。我们可以暴力枚举全部区间,然后开一个 map,将。,可能有点悬,再进一步优化一下。然后这道题就做完了,不过还是有些坑点,详见代码。的范围,不大也不小,原创 2024-10-08 22:26:56 · 1128 阅读 · 0 评论
分享